home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 2 / Gekikoh Dennoh Club Vol. 2 (Japan).7z / Gekikoh Dennoh Club Vol. 2 (Japan) (Track 01).bin / fsw / zm302 / zm10.man < prev    next >
Text File  |  1997-09-02  |  114KB  |  2,990 lines

  1.  
  2.         MEASURE10
  3.  
  4.   ZMUSIC Ver.3.0のファンクションコール
  5.  
  6.  
  7.   ここではZMSC3.XおよびZMC.Xが常駐した後に
  8.  
  9. 使用出来るファンクションコールについて
  10.  
  11. 説明します。使用にはMPU680x0の機械語の知識が
  12.  
  13. 必要です。
  14.  
  15.   一般的な使用をする限り読み飛ばしてしまって
  16.  
  17. 構いません。
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26. 10.1.  ファンクションコールのコール法
  27.  
  28.  
  29.   ZMUSIC Ver.3.0のファンクションコールの仕方は以下のような方法で行う。
  30.  
  31.     moveq.l #n,d0           *n=ファンクションナンバー
  32.     lea     ~,a1           *パラメータが必要であれば設定
  33.     moveq.l #m,d1           *パラメータが必要であれば設定
  34.     trap    #3
  35.  
  36.   戻り値はd0.lとa0.lのみで、その他のレジスタは全部保存される。ただし、逆に
  37.  
  38. 戻り値が無い関数においても、d0.lとa0.lの内容はファンクションコール前と異なる
  39.  
  40. 場合がある(保存されない)点に注意。
  41.  
  42.   ファンクションにもよるが通常はd0.l=0が正常終了を意味する。万が一、ファンク
  43.  
  44. ション内でエラーが発生した場合のエラーコードは
  45.  
  46. ($8000+エラーの発生したファンクション番号(0-32767))*65536+エラーID(0-65535)
  47.  
  48. がd0.lに代入される。またこのときはa0.lの内容は0になる。なお、エラーIDと
  49.  
  50. その説明に関してはMEASURE11を参照のこと。
  51.  
  52.   ZMSC3.Xの常駐チェック方法はリスト1の様に行う。TRAP #3のベクタが指し示す
  53.  
  54. アドレス-8から文字列"ZmuSiC"があるかどうかを調べている。さらに"ZmuSiC"の
  55.  
  56. 後ろにはバージョンコードが2バイトが格納されている。バージョンコードは
  57.  
  58.     上位バイト上位4ビット:バージョン整数部
  59.     上位バイト下位4ビット:バージョン少数第1桁
  60.     下位バイト上位4ビット:4
  61.     下位バイト下位4ビット:バージョン少数第2桁
  62.  
  63.     VERSION 3.21 → "ZmuSiC",$32(.b),$41(.b)
  64.  
  65.  
  66.           リスト1
  67.  
  68. chk_drv:
  69.     * > eq=常駐確認
  70.     * > mi=常駐していない
  71.     move.l  $8c.w,a0
  72.     subq.w  #8,a0
  73.     cmpi.l  #'ZmuS',(a0)+
  74.     bne     chk_drv_err
  75.     cmpi.w  #'iC',(a0)+
  76.     bne     chk_drv_err
  77.     cmpi.w    #$3000,(a0)+    *バージョンが古い
  78.     bcs    chk_drv_err
  79.     moveq.l    #0,d0
  80.     rts
  81. chk_drv_err:
  82.     moveq.l #-1,d0
  83.     rts
  84.  
  85.  
  86. 10.2.  ファンクションコールのコール
  87.  
  88.  
  89. ●数値表現に付いて
  90.  
  91. ・(.l),(.w),(.b)はそれぞれ32bit,16bit,8bitの値を表す。
  92.  
  93. ・d0.lwはd0の下位16ビット値、d0.hwはd0の上位16ビット値を意味する。
  94.  
  95. ・d0.lbはd0の第0~7ビット値、d0.hbはd0の第8~15ビット値を意味する。
  96.  
  97. ・d0.hwhb,d0.hwlb,d0.lwhb,d0.lwlbはそれぞれd0の最上位8ビット、第16~23ビット、
  98.   第8~15ビット、最下位8ビットを表す。
  99.  
  100. ・例で用いているマクロZ_MUSICは
  101.  
  102.     Z_MUSIC    macro    number
  103.         moveq.l    number,d0
  104.         trap    #3
  105.         endm
  106.  
  107. のようになっている。
  108. --------------------------------------------------------------------------------
  109. ファンクション$00    ZM_INIT
  110.  
  111. 機能    ZMUSICの初期化を行う
  112.  
  113. 引数    d1.l:0(dummy)
  114.  
  115. 戻り値    d0.l:ZMUSICのバージョンID
  116.  
  117. 備考    d1.lは将来の拡張を考慮して現時点ではかならず0を設定する。
  118.     バージョンIDはたとえばバージョン3.21ならば $00003241となる。
  119.     4の部分は固定値。
  120. --------------------------------------------------------------------------------
  121. ファンクション$01    ZM_ASSIGN
  122.  
  123. 機能    チャンネルアサイン
  124.  
  125. 引数    d1.hw:デバイスタイプ(0=FM音源,1=ADPCM音源,$8000=MIDI1,$8001=MIDI2,
  126.                  $8002=MIDI3,$8003=MIDI4,-1=カレントMIDI)
  127.     d1.lw:チャンネル番号0-15
  128.     d2.l:トラック番号0-65534
  129.  
  130. 戻り値    d0.l=0:正常終了
  131.     d0.l=0以外:エラーコード
  132.  
  133. 備考    カレントMIDIはMIDIインターフェース番号を指定しない場合の
  134.     デフォルトとなるものでzm_current_midi_out()で設定する
  135. --------------------------------------------------------------------------------
  136. ファンクション$02    ZM_COMPILER
  137.  
  138. 機能    ZMSをコンパイルする
  139.  
  140. 引数    d1.lのd0-d6:検出するエラーの最大値/0:∞,1-127
  141.     d1.lのd15:エラーテーブルリストを作成して出力するか(0:no,1:yes)
  142.     d2.l:ZMSサイズ
  143.     a1.l:ZMSが格納されているアドレス
  144.  
  145. 戻り値    d0.l=0:正常終了
  146.     a0.l=ZMDのアドレス(コンパイル中にウォーニングが発生した場合は
  147.                    ZMDの後ろにくっつく)
  148.  
  149.     d0.l=0以外:コンパイルで発生したエラーの数
  150.     a0.l=エラーテーブル
  151.  
  152. 備考    ・エラーテーブルの構成に付いてはMEASURE11を参照のこと。
  153.     ・エラーテーブルは使用後ファンクション FREE_MEMなどで解放すること。
  154.     ・d2.l,a0.l共に0にするとコンパイラの常駐解除となる。通常は指定しては
  155.       ならない。正常に解除した場合の戻り値はd0.l=0、失敗時はd0.l=エラー
  156.       コードが返される。
  157.     ・コンパイラは外部組み込みのファンクションであるため、使用前には
  158.       コンパイラの常駐を確認する必要がある。
  159. --------------------------------------------------------------------------------
  160. ファンクション$03    ZM_VGET
  161.  
  162. 機能    FM音源音色を取り出す
  163.  
  164. 引数    d1.l:音色番号(0-32767)
  165.     d2.l:0=OPMDRV.X互換, 1=AL/FB分離方式
  166.     a1.l:音色データ格納バッファ
  167.  
  168. 戻り値    0:正常終了
  169.     0以外:エラーコード
  170.  
  171. 備考    a1.lで表される音色データの書式は以下のとおり。
  172.     (0~54で表される数値はそれぞれ0(a1)~54(a1)を意味する)
  173.  
  174.     音色フォーマット(OPMDRV.X互換方式)
  175.     0:AF(フィードバック/アルゴリズム) (0~63)  
  176.     1:OM(スロットマスク)            (0~15)  
  177.     2:WF(ウェーヴフォーム)          (0~3)   
  178.     3:SYC(シンクロ)              (0,1)    
  179.     4:SPD(スピード)            (0~255) 
  180.     5:PMD                    (0~127) 
  181.     6:AMD                    (0~127) 
  182.     7:PMS                    (0~7)   
  183.     8:AMS                    (0~3)   
  184.     9:PAN                    (0~3)   
  185.     10:DUMMY
  186.     11(OP1),22(OP2),33(OP3),44(OP4):AR(アタックレート)        (0~31)
  187.     12(OP1),23(OP2),34(OP3),45(OP4):1DR(1stディケイレート)   (0~31)
  188.     13(OP1),24(OP2),35(OP3),46(OP4):2DR(2ndディケイレート)   (0~31)
  189.     14(OP1),25(OP2),36(OP3),47(OP4):RR(リリースレート)        (0~15)
  190.     15(OP1),26(OP2),37(OP3),48(OP4):1DL(1stディケイレベル)  (0~15)
  191.     16(OP1),27(OP2),38(OP3),49(OP4):TL(トータルレベル)       (0~127)
  192.     17(OP1),28(OP2),39(OP3),50(OP4):KS(キースケーリング)      (0~3)
  193.     18(OP1),29(OP2),40(OP3),51(OP4):MUL(フェーズマルチプライ)  (0~15)
  194.     19(OP1),30(OP2),41(OP3),52(OP4):DT1(ディチューン1)      (0~7)
  195.     20(OP1),31(OP2),42(OP3),53(OP4):DT2(ディチューン2)      (0~3)
  196.     21(OP1),32(OP2),43(OP3),54(OP4):AME(AMSイネーブル)     (0,1)
  197.  
  198.     音色フォーマット(AL/FB分離方式)
  199.         00(OP1),11(OP2),22(OP3),33(OP4):AR(アタックレート)        (0~31)
  200.     01(OP1),12(OP2),23(OP3),34(OP4):1DR(1stディケイレート)   (0~31)
  201.     02(OP1),13(OP2),24(OP3),35(OP4):2DR(2ndディケイレート)   (0~31)
  202.     03(OP1),14(OP2),25(OP3),36(OP4):RR(リリースレート)        (0~15)
  203.     04(OP1),15(OP2),26(OP3),37(OP4):1DL(1stディケイレベル)  (0~15)
  204.     05(OP1),16(OP2),27(OP3),38(OP4):TL(トータルレベル)       (0~127)
  205.     06(OP1),17(OP2),28(OP3),39(OP4):KS(キースケーリング)      (0~3)
  206.     07(OP1),18(OP2),29(OP3),40(OP4):MUL(フェーズマルチプライ)  (0~15)
  207.     08(OP1),19(OP2),30(OP3),41(OP4):DT1(ディチューン1)      (0~7)
  208.     09(OP1),20(OP2),31(OP3),42(OP4):DT2(ディチューン2)      (0~3)
  209.     10(OP1),21(OP2),32(OP3),43(OP4):AME(AMSイネーブル)     (0,1)
  210.     44:AL(アルゴリズム)           (0~7)
  211.     45:FB(フィードバック)          (0~7)
  212.     46:OM(スロットマスク)            (0~15)
  213.     47:PAN                    (0~3)
  214.     48:WF(ウェーヴフォーム)          (0~3)
  215.     49:SYC(シンクロ)              (0,1)
  216.     50:SPD(スピード)            (0~255)
  217.     51:PMD                    (0~127)
  218.     52:AMD                    (0~127)
  219.     53:PMS                    (0~7)
  220.     54:AMS                    (0~3)
  221. --------------------------------------------------------------------------------
  222. ファンクション$04    ZM_VSET
  223.  
  224. 機能    FM音源音色を登録する
  225.  
  226. 引数    d1.l:音色番号(0-32767)
  227.     d2.l:モード(0=OPMDRV.X互換,1=AL/FB分離方式)
  228.     a1.l:音色データ格納バッファ
  229.  
  230. 戻り値    0:正常終了
  231.     0以外:エラーコード
  232.  
  233. 備考    音色フォーマットに付いてはZM_VGETとまったく同じ
  234. --------------------------------------------------------------------------------
  235. ファンクション$06    ZM_TEMPO
  236.  
  237. 機能    テンポを設定する
  238.  
  239. 引数    d1.lw:テンポの値(1分間の4分音符の数)
  240.           -1=テンポ取得のみを行う
  241.     d1.hw:モード(0=ZMUSICに登録する(通常),
  242.              -1=単なるテンポの変更でZMUSICには登録しない)
  243.  
  244. 戻り値    設定前のテンポとタイマ値が戻ってくる
  245.     d0.hw:タイマ値
  246.     d0.lw:テンポ値
  247.  
  248. 備考    テンポ値の有効範囲は使用するテンポ源タイマの種類によって異なる。
  249.     TIMER-A:20~32767
  250.     TIMER-B:20~5000
  251.     YM3802:1~32767
  252. --------------------------------------------------------------------------------
  253. ファンクション$07    ZM_SET_TIMER_VALUE
  254.  
  255. 機能    テンポをタイマ値で設定する
  256.  
  257. 引数    d1.lw:タイマの値
  258.           -1=タイマ値取得のみを行う
  259.     d1.hw:モード(0=ZMUSICに登録する(通常),
  260.              -1=単なるテンポの変更でZMUSICには登録しない)
  261.  
  262. 戻り値    設定前のテンポとタイマ値が戻ってくる
  263.     d0.hw:テンポ値
  264.     d0.lw:タイマ値
  265.  
  266. 備考    テンポ値の有効範囲は使用するテンポ源タイマの種類によって異なる。
  267.     TIMER-A:0~1023
  268.     TIMER-B:0~255
  269.     YM3802:0~8191
  270. --------------------------------------------------------------------------------
  271. ファンクション$08    ZM_PLAY
  272.  
  273. 機能    演奏開始制御
  274.  
  275. 引数    a1.l:演奏を開始したいトラック番号の並びを格納したアドレス
  276.          ただしa1.l=0とすると全トラック演奏開始の指定とみなす。
  277.  
  278. 戻り値    a0.l:演奏開始を行えなかったトラック番号の並びを格納したアドレス
  279.  
  280. 備考    引数a1.l、戻り値a0.l共に
  281.     { track(.w),track(.w),.....,track(.w),-1(.w)}
  282.     という構成を取る。ただしトラック番号は0-65534の範囲
  283. --------------------------------------------------------------------------------
  284. ファンクション$09    ZM_PLAY2
  285.  
  286. 機能    共通コマンドからの再演奏を行う
  287.  
  288. 引数    なし
  289.  
  290. 戻り値    なし
  291.  
  292. 備考    現在ZMUSICの演奏データバッファに存在する演奏データをはじめから
  293.     (共通コマンドの実行も含めて)演奏する。
  294. --------------------------------------------------------------------------------
  295. ファンクション$0a    ZM_PLAY_AGAIN
  296.  
  297. 機能    再演奏
  298.  
  299. 引数    なし
  300.  
  301. 戻り値    なし
  302.  
  303. 備考    前回行われたファンクションZM_PLAYを再び実行する
  304. --------------------------------------------------------------------------------
  305. ファンクション$0b    ZM_PLAY_STATUS
  306.  
  307. 機能    演奏状態の検査
  308.  
  309. 引数    d1.l:チェックモード(0:全チャンネル検査,1:全トラック検査
  310.                 2:指定チャンネル検査,3:指定トラック検査)
  311.  
  312.     d2.hw:デバイスタイプ(0=FM音源,1=ADPCM音源,$8000=MIDI1,$8001=MIDI2,
  313.                  $8002=MIDI3,$8003=MIDI4,-1=カレントMIDI)
  314.                     /d1.l=2の時のみ有効
  315.     d2.lw:チャンネル番号(0-15)    /d1.l=2の時のみ有効
  316.  
  317.     d2.l:トラック番号(0-65534)    /d1.l=3の時のみ有効
  318.  
  319.     a1.l:検査結果格納バッファアドレス
  320.          (0にすると検査結果を簡略して返す)    /d1.l=0,2の時のみ有効
  321.  
  322. 戻り値    引数a1.l=0のとき、あるいはd1.l=2,3のときのみd0.lに以下の値を返す
  323.     d0.l=0:演奏終了
  324.     d0.l=-1:演奏中
  325.  
  326. 備考    ・引数d1.l=0(全チャンネル検査モード)のとき戻り値は引数a1.lから示される
  327.       領域に演奏中のデバイスタイプ,チャンネルが以下のような書式で返される。
  328.       { active_device(.l),active_device(.l),...,-1(.l) }
  329.       なお、
  330.       active_device(.l)は
  331.       active_device(.hw):デバイスタイプ(0=FM音源,1=ADPCM音源,
  332.                         $8000=MIDI1,$8001=MIDI2,
  333.                         $8002=MIDI3,$8003=MIDI4,-1=カレントMIDI)
  334.       active_device(.lw):チャンネル番号(0-15)
  335.       という書式に準ずる。
  336.     ・引数d1.l=1(全トラック検査モード)のとき戻り値は引数a1.lから示される
  337.       領域に演奏中のトラック番号が以下のような書式で返される。
  338.       { active_track(.w),active_track(.w),...,-1(.w) }
  339.       なお、
  340.       active_track(.w)は0-65534の値を取る
  341.     ・引数d1.l=2,3のときはd2.lで指定したチャンネルやトラック番号の演奏状態を
  342.      検査する。この時a1.lを指定する必要はない。検査結果はd0.lに返される。
  343. --------------------------------------------------------------------------------
  344. ファンクション$0c    ZM_STOP
  345.  
  346. 機能    演奏停止
  347.  
  348. 引数    a1.l:演奏を停止したいトラック番号の並びを格納したアドレス
  349.          ただしa1.l=0とすると全トラック演奏停止の指定とみなす。
  350.  
  351. 戻り値    a0.l:演奏停止を行えなかったトラック番号の並びを格納したアドレス
  352.  
  353. 備考    引数のa1.l、戻り値のa0.l共に
  354.     { track(.w),track(.w),.....,track(.w),-1(.w) }
  355.     という構成を取る。ただしトラック番号は0-65534の範囲
  356. --------------------------------------------------------------------------------
  357. ファンクション$0d    ZM_CONT
  358.  
  359. 機能    演奏再開
  360.  
  361. 引数    a1.l:演奏を再開したいトラック番号の並びを格納したアドレス
  362.        ただしa1.l=0とすると全トラック演奏再開の指定とみなす。
  363.  
  364. 戻り値    a0.l:演奏再開を行えなかったトラック番号の並びを格納したアドレス
  365.  
  366. 備考    引数のa1.l、戻り値のa0.l共に
  367.     { track(.w),track(.w),.....,track(.w),-1(.w)}
  368.     という構成を取る。ただしトラック番号は0-65534の範囲
  369. --------------------------------------------------------------------------------
  370. ファンクション$0e    ZM_ATOI
  371.  
  372. 機能    演奏トラックデータの先頭アドレス取得
  373.  
  374. 引数    d1.l:トラック番号(0-65534)
  375.  
  376. 戻り値    a0.l=0:エラー(指定トラックは存在せず)
  377.     a0.l=0以外:指定演奏トラックの先頭アドレス
  378. --------------------------------------------------------------------------------
  379. ファンクション$0f    ZM_SET_MASTER_CLOCK
  380.  
  381. 機能    拍子,メトロノーム速度,調号,全音符の絶対音長の設定
  382.  
  383. 引数    d1.l:モード(0=音楽演奏側の設定を行う,1=効果音演奏側の設定を行う)
  384.     a1.l:拍子,メトロノーム速度,調号,全音符の絶対音長を格納した領域の
  385.          アドレス。a1.l=0ならば問い合わせのみ
  386.  
  387. 戻り値    引数のa1.l=0とした時のみ、その時点の設定値を格納した領域のアドレスが
  388.     a0.lに返る。それ以外は戻り値不定。
  389.  
  390. 備考    d1.l=0で通常音楽演奏側の設定、d1.l=1で効果音演奏側の設定となる。
  391.     引数のa1.l、戻り値のa0.lの構造は
  392.         $00(a1).b:拍子分子(1-255)
  393.         $01(a1).b:拍子分母(1-255)
  394.         $02(a1).b:メトロノーム速度(楽的音長(1-255))
  395.         $03(a1).b:reserve
  396.         $04(a1).b:調号1(0:C,負値:♭の数,正値:♯の数)
  397.         $05(a1).b:調号2(Major=0,Minor=1)
  398.         $06(a1).w:全音符の絶対音長(1-65535)
  399.     という書式に準ずる
  400. --------------------------------------------------------------------------------
  401. ファンクション$10    ZM_PLAY_ZMD
  402.  
  403. 機能    ZMDの演奏
  404.  
  405. 引数    d2.l:ZMDのサイズ(ヘッダ「$1A,'ZmuSiC',$30」の分は含まれていても
  406.          含まれていなくてもどちらでもよい)
  407.          d2.l=0を設定するとZMUSIC本体のバッファへ演奏データを
  408.          取り込む動作を省略する。
  409.     a1.l:ZMDの格納アドレス(ヘッダ「$1A,'ZmuSiC',$30」を含まず)
  410.  
  411. 戻り値    d0.l=0:正常終了
  412.     d0.l=0以外:エラーコード
  413.  
  414. 備考    d2.l=0とするには、a1.lで表されるアドレスからの領域の存在が
  415.     演奏中も保証されることを前提とする。
  416. --------------------------------------------------------------------------------
  417. ファンクション$11    ZM_PLAY_ZMD_SE
  418.  
  419. 機能    ZMDを効果音として演奏する
  420.  
  421. 引数    a1.l:ZMDの格納アドレス(ヘッダ「$1A,'ZmuSiC',$30」を含まず)
  422.  
  423. 戻り値    d0.l=0:正常終了
  424.     d0.l=0以外:エラーコード
  425.  
  426. 備考    a1.lで表されるアドレスからの領域の存在は、演奏中も
  427.     保証されなければならない。
  428. --------------------------------------------------------------------------------
  429. ファンクション$12    ZM_SE_PLAY
  430.  
  431. 機能    効果音ZMDの演奏
  432.  
  433. 引数    a1.l:ZMDの格納アドレス(トラック・チャンネル情報テーブルから)
  434.  
  435. 戻り値    d0.l=0:正常終了
  436.     d0.l=0以外:エラーコード
  437.  
  438. 備考    a1.lで表されるアドレスからの領域の存在は、演奏中も
  439.     保証されなければならない。
  440.     トラック・チャンネル情報テーブルに付いてはMEASURE12を参照。
  441. --------------------------------------------------------------------------------
  442. ファンクション$13    ZM_SE_ADPCM1
  443.  
  444. 機能    (AD)PCM効果音の演奏
  445.  
  446. 引数    d1.hwhb:データタイプ(-1:ADPCM,1:16bitPCM,2:8bitPCM)
  447.     d1.hwlb:音量(0-127,64:標準)
  448.     d1.lwhb:再生周波数(0:3.9kHz 1:5.2kHz 2:7.8kHz 3:10.4kHz 4:15.6kHz)
  449.     d1.lwlb:パンポット(0-3 / $80+0-127)
  450.     d2.l:再生するADPCMのデータサイズ
  451.     d4.hw:効果音優先度(0-255/0が最も低い)
  452.     d4.lw:再生チャンネル(0-15)
  453.     a1.l:(AD)PCMデータアドレス
  454.  
  455. 戻り値    d0.l=0:正常終了
  456.     d0.l=0以外:エラーコード
  457.  
  458. 備考    a1.lで表されるアドレスからの領域の存在は、演奏中も
  459.     保証されなければならない。
  460. --------------------------------------------------------------------------------
  461. ファンクション$14    ZM_SE_ADPCM2
  462.  
  463. 機能    ZMUSICに登録してある(AD)PCM効果音の演奏
  464.  
  465. 引数    d1.hwhb:データタイプ(-1:ADPCM,1:16bitPCM,2:8bitPCM)
  466.     d1.hwlb:音量(0-127,64:標準)
  467.     d1.lwhb:再生周波数(0:3.9kHz 1:5.2kHz 2:7.8kHz 3:10.4kHz 4:15.6kHz)
  468.     d1.lwlb:パンポット(0-3 / $80+0-127)
  469.     d2.l:PCMデータ番号(d15が1ならば音色番号($8000+0-32767),
  470.                0ならばノート番号(0-32767)指定)
  471.     d4.hw:効果音優先度(0-255/0が最も低い)
  472.     d4.lw:再生チャンネル(0-15)
  473.  
  474. 戻り値    d0.l=0:正常終了
  475.     d0.l=0以外:エラーコード
  476. --------------------------------------------------------------------------------
  477. ファンクション$15    ZM_INTERCEPT_PLAY
  478.  
  479. 機能    演奏開始制御の遮断制御
  480.  
  481. 引数    d1.l:-1 演奏開始の遮断を行う
  482.          0  演奏開始の遮断の解除と演奏開始
  483.          1  演奏開始の遮断の解除
  484.  
  485. 戻り値    なし
  486.  
  487. 備考    演奏開始の遮断を設定するとファンクションZM_PLAYなどの演奏開始命令を
  488.     実行しても演奏が開始されなくなる。
  489.     演奏開始の遮断中に演奏開始を実行した場合ワークtimer_flgの
  490.     最上位ビットが1に上書きされる。
  491. --------------------------------------------------------------------------------
  492. ファンクション$16    ZM_CURRENT_MIDI_IN
  493.  
  494. 機能    カレントMIDI-IN端子の設定
  495.  
  496. 引数    d1.w:MIDIポートの番号(0-3)
  497.          -1では問い合わせのみを行う
  498.  
  499. 戻り値    d0.l=以前のカレントMIDI-INのポート番号(0-3)
  500. --------------------------------------------------------------------------------
  501. ファンクション$17    ZM_CURRENT_MIDI_OUT
  502.  
  503. 機能    カレントMIDI-OUT端子の設定
  504.  
  505. 引数    d1.w:MIDIポートの番号(0-3)
  506.          -1では問い合わせのみを行う
  507.  
  508. 戻り値    d0.l=以前のカレントMIDI-OUTのポート番号(0-3)
  509. --------------------------------------------------------------------------------
  510. ファンクション$18    ZM_MIDI_TRANSMISSION
  511.  
  512. 機能    MIDIデータメッセージの送信
  513.  
  514. 引数    d1.l:MIDIポートの番号(0-3)
  515.          -1はカレントMIDI-OUTを使用
  516.     d2.l:送信データサイズ
  517.          0とした場合はテキスト型MIDIデータ(MDD)とみなして送信する
  518.          0以外ではバイナリデータとみなして送信する
  519.     a1.l:送信するMIDIデータを格納したデータバッファアドレス
  520.  
  521. 戻り値    d0.l=送信データの8ビット加算合計値
  522.  
  523. 備考    MDDとはZMUSIC Ver.2.0相当でMIDIファイルの標準としていたフォーマット。
  524.     $0d,$0aで始まり16進数のテキストでMIDIメッセージを記述したファイル。
  525.     送信データサイズを指定した場合はバイナリのMIDIメッセージと
  526.     みなして送信される。ZMUSICが扱えるバイナリのMIDIメッセージには
  527.     スタンダードMIDIファイル(FORMAT0)と単なるバイナリデータ列の
  528.     2種類がありこのデータの種類の判別はZMUSIC Ver.3.0が自動で行う。
  529. --------------------------------------------------------------------------------
  530. ファンクション$19    ZM_EXCLUSIVE
  531.  
  532. 機能    エクスクルーシブメッセージの送信
  533.  
  534. 引数    d1.l:MIDIポートの番号(0-3)
  535.          -1はカレントMIDI-OUTを使用
  536.     d2.l:送信データサイズ
  537.     d3.hw:MAKER ID(0-127)
  538.     d3.lb:MODEL ID(0-127)
  539.     d3.hb:DEVICE ID(0-127)
  540.     a1.l:送信するMIDIデータを格納したデータバッファアドレス
  541.  
  542. 戻り値    なし
  543.  
  544. 備考    エクスクルーシブヘッダの$F0とEOXの$F7は自動送信される。
  545.     d3.hb=-1とすると以前設定したものが選択される。最初の使用時に
  546.     省略した場合はドライバ内のデフォルト値が選択される。
  547.     MAKER IDをRoland($41)とした場合はデータ列をローランド・エクスクルーシブ
  548.     フォーマットのデータとみなし、コマンドメッセージ(DT2:$12)やチェックサム
  549.     バイト付きで送信する。
  550.     MAKER IDをYAMAHA($43)とした場合はデータ列をヤマハ・エクスクルーシブ
  551.     フォーマットのデータとみなし、データ長やチェックサムバイト付きで送信す
  552.     る。
  553. --------------------------------------------------------------------------------
  554. ファンクション$1b    ZM_SET_EOX_WAIT
  555.  
  556. 機能    EOX送信後のウェイトを設定する
  557.  
  558. 引数    d1.w:MIDIポートの番号(0-3)
  559.          -1はカレントMIDI-OUTを使用
  560.     d2.w:0-65535
  561.  
  562. 戻り値    d0.l=それまでのウェイト値
  563. --------------------------------------------------------------------------------
  564. ファンクション$1c    ZM_MIDI_INP1
  565.  
  566. 機能    MIDIデータの1バイト入力
  567.  
  568. 引数    d1.w:MIDIポートの番号(0-3)
  569.          -1はカレントMIDI-OUTを使用
  570.     d2.l:入力モード(0:1回受信を試みてすぐ帰還,1:受信するまで無限ループ)
  571.  
  572. 戻り値    d0.lに入力結果を返す
  573.  
  574. 備考    戻り値のd0.lは以下のような書式をとる
  575.     第31ビット:読み込みステータス(1=読みこぼし発生,0=正常読みだし)
  576.     第15ビット:データの有無(1=データ無し,0=データ有り)
  577.     第0-7ビット:読みだしデータ(0-255)
  578. --------------------------------------------------------------------------------
  579. ファンクション$1d    ZM_MIDI_OUT1
  580.  
  581. 機能    MIDIデータの1バイト出力
  582.  
  583. 引数    d1.w:MIDIポートの番号(0-3)
  584.          -1はカレントMIDI-OUTを使用
  585.     d2.b:送信データ(0-255)
  586.  
  587. 戻り値    d0.l=0:正常終了
  588.     d0.l=0以外:エラーコード
  589. --------------------------------------------------------------------------------
  590. ファンクション$1e    ZM_MIDI_REC
  591.  
  592. 機能    MIDIデータのレコーディング開始
  593.  
  594. 引数    d1.w:MIDIポートの番号(0-3)
  595.          -1はカレントMIDI-OUTを使用
  596.  
  597. 戻り値    d0.l=0:正常終了
  598.     d0.l=0以外:エラーコード
  599. --------------------------------------------------------------------------------
  600. ファンクション$1f    ZM_MIDI_REC_END
  601.  
  602. 機能    MIDIデータのレコーディング終了
  603.  
  604. 引数    d1.w:MIDIポートの番号(0-3)
  605.          -1はカレントMIDI-OUTを使用
  606.  
  607. 戻り値    d0.l=0:正常終了
  608.     d0.l=0以外:エラーコード
  609. --------------------------------------------------------------------------------
  610. ファンクション$20    ZM_GS_RESET
  611.  
  612. 機能    GS音源の初期化
  613.  
  614. 引数    d1.w:MIDIポートの番号(0-3)
  615.          -1はカレントMIDI-OUTを使用
  616.     d3.b:DEVICE ID(0-127,-1:以前の値を使用)
  617.  
  618. 戻り値    d0.l=0:正常終了
  619.     d0.l=0以外:エラーコード
  620. --------------------------------------------------------------------------------
  621. ファンクション$21    ZM_GS_PARTIAL_RESERVE
  622.  
  623. 機能    GS音源のパーシャルリザーブ
  624.  
  625. 引数    d1.w:MIDIポートの番号(0-3)
  626.          -1はカレントMIDI-OUTを使用
  627.     d3.b:DEVICE ID(0-127,-1:以前の値を使用)
  628.     a1.l:パート1~パート16までのパーシャルリザーブ値が
  629.          格納されているアドレス
  630.  
  631. 戻り値    d0.l=0:正常終了
  632.     d0.l=0以外:エラーコード
  633.  
  634. 備考    a1.lからの領域にパーシャルリザーブ値を16パート分格納しておく。
  635.     また、合計が楽器の最大同時発声数以下にならなければならない。
  636.     0(a1)=パート1,1(a1)=パート2…,15(a1)=パート16というふうに対応する。
  637.     なお、パート10はリズムパートに対応する。
  638.     d3.bを-1とすると以前設定したものが選択される。最初の使用時に
  639.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  640. --------------------------------------------------------------------------------
  641. ファンクション$22    ZM_GS_REVERB
  642.  
  643. 機能    GS音源のリバーブ・パラメータの設定
  644.  
  645. 引数    d1.w:MIDIポートの番号(0-3)
  646.          -1はカレントMIDI-OUTを使用
  647.     d2.l:リバーブパラメータ・データサイズ(1-7)
  648.     d3.b:DEVICE ID(0-127,-1:以前の値を使用)
  649.     a1.l:リバーブパラメータ格納バッファアドレス
  650.  
  651. 戻り値    d0.l=0:正常終了
  652.     d0.l=0以外:エラーコード
  653.  
  654. 備考    a1.lからの領域にリバーブパラメータを記述しておく。d2.lは7以内で、
  655.     指定した個数分のパラメータがGS音源へ送信される。
  656.     d3.bを-1とすると以前設定したものが選択される。最初の使用時に
  657.     省略した場合はZMUSIC内のデフォルト値$10が選択される
  658.  
  659.     0(a1):REVERB MACRO 00:Room1,01:Room2,02:Room3,03:Hall1,04:Hall2
  660.                 05:Plate,06:Delay,07:Panning Delay(FB)
  661.     1(a1):REVERB CHARACTER            ($00~$07)
  662.     2(a1):REVERB PRE-LPF            ($00~$07)
  663.     3(a1):REVERB LEVEL            ($00~$7F)
  664.     4(a1):REVERB TIME            ($00~$7F)
  665.     5(a1):REVERB DELAY FEEDBACK        ($00~$7F)
  666.     6(a1):REVERB SEND LEVEL TO CHORUS    ($00~$7F)
  667.     (SC55マニュアルp79参照)
  668. --------------------------------------------------------------------------------
  669. ファンクション$23    ZM_GS_CHORUS
  670.  
  671. 機能    GS音源のコーラス・パラメータの設定
  672.  
  673. 引数    d1.w:MIDIポートの番号(0-3)
  674.          -1はカレントMIDI-OUTを使用
  675.     d2.l:コーラスパラメータ・データサイズ(1-8)
  676.     d3.b:DEVICE ID(0-127,-1:以前の値を使用)
  677.     a1.l:コーラスパラメータ格納バッファアドレス
  678.  
  679. 戻り値    d0.l=0:正常終了
  680.     d0.l=0以外:エラーコード
  681.  
  682. 備考    a1.lからの領域にコーラスパラメータを記述しておく。d2.lは8以内で
  683.     指定した個数分のパラメータがGS音源へ送信される。
  684.     d3.bを-1とすると以前設定したものが選択される。最初の使用時に
  685.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  686.  
  687.     0(a1):CHORUS MACRO 00:Chorus1,01:Chorus2,02:Chorus3,03:Chorus4
  688.                 04:Feedback Chorus,05:Flanger,06:Short Delay
  689.                 07:Short Delay(FB)
  690.     1(a1):CHORUS PRE-LPF            ($00~$07)
  691.     2(a1):CHORUS LEVEL            ($00~$7F)
  692.     3(a1):CHORUS FEEDBACK            ($00~$7F)
  693.     4(a1):CHORUS DELAY            ($00~$7F)
  694.     5(a1):CHORUS RATE            ($00~$7F)
  695.     6(a1):CHORUS DEPTH            ($00~$7F)
  696.     7(a1):CHORUS SEND LEVEL TO REVERB    ($00~$7F)
  697.     (SC55マニュアルp79参照)
  698. --------------------------------------------------------------------------------
  699. ファンクション$24    ZM_GS_PART_PARAMETER
  700.  
  701. 機能    GS音源のパート・パラメータの設定
  702.  
  703. 引数    d1.w:MIDIポートの番号(0-3)
  704.          -1はカレントMIDI-OUTを使用
  705.     d2.l:パートパラメータ・データサイズ(1-119)
  706.     d3.lw:DEVICE ID(0-127,-1:以前の値を使用)
  707.     d3.hw:PART NUMBER(1-16)
  708.     a1.l:パートパラメータ格納バッファアドレス
  709.  
  710. 戻り値    d0.l=0:正常終了
  711.     d0.l=0以外:エラーコード
  712.  
  713. 備考    a1.lからの領域にパートパラメータを記述しておく。d2.lは119以内で
  714.     指定した個数分のパラメータがGS音源へ送信される。
  715.     d3.bを-1とすると以前設定したものが選択される。最初の使用時に
  716.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  717.  
  718.     0(a1):Rx CHANNEL                 (1~16,17=OFF)
  719.     1(a1):Rx PITCH BEND              (0~1:OFF/ON)
  720.     2(a1):Rx CH PRESSURE(CAf)        (0~1:OFF/ON)
  721.     3(a1):Rx PROGRAM CHANGE          (0~1:OFF/ON)
  722.     4(a1):Rx CONTROL CHANGE          (0~1:OFF/ON)
  723.     5(a1):Rx POLY PRESSURE(PAf)      (0~1:OFF/ON)
  724.     6(a1):Rx NOTE MESSAGE            (0~1:OFF/ON)
  725.     7(a1):Rx RPN                     (0~1:OFF/ON)
  726.     8(a1):Rx NRPN                    (0~1:OFF/ON)
  727.     9(a1):Rx MODURATION              (0~1:OFF/ON)
  728.     10(a1):Rx VOLUME                  (0~1:OFF/ON)
  729.     11(a1):Rx PANPOT                  (0~1:OFF/ON)
  730.     12(a1):Rx EXPRESSION              (0~1:OFF/ON)
  731.     13(a1):Rx HOLD1                   (0~1:OFF/ON)
  732.     14(a1):Rx PORTAMENTO              (0~1:OFF/ON)
  733.     15(a1):Rx SOSTENUTO               (0~1:OFF/ON)
  734.     16(a1):Rx SOFT                    (0~1:OFF/ON)
  735.     17(a1):MONO/POLY MODE             (0~1:MONO/POLY)
  736.     18(a1):ASSIGN MODE                (0:SINGLE,1:LIMITED-MULTI,2:FULL-MULTI)
  737.     19(a1):USE FOR RHYTHM PART        (0:OFF,1:MAP1,2:MAP2)
  738.     20(a1):PITCH KEY SHIFT            ($28~$58:-24~+24[semitone])
  739.     21(a1):PITCH OFFSET FINE(upper)   ($08~$F8:-12.0~+12.0[Hz])
  740.     22(a1):PITCH OFFSET FINE(lower)         〃
  741.     23(a1):PART LEVEL                 (0~127)
  742.     24(a1):VELOCITY SENSE DEPTH       (0~127)
  743.     25(a1):VELOCITY SENSE OFFSET      (0~127)
  744.     26(a1):PART PANPOT                (0:RANDOM,01(LEFT)~64~127(RIGHT))
  745.     27(a1):KEY RANGE LOW              (0~127:C-1~G9)
  746.     28(a1):KEY RANGE HIGH             (0~127:C-1~G9)
  747.     29(a1):CC1 CONTROL NUMBER         (0~127)
  748.     30(a1):CC2 CONTROL NUMBER         (0~127)
  749.     31(a1):CHORUS SEND DEPTH          (0~127)
  750.     32(a1):REVERB SEND DEPTH          (0~127)
  751.  
  752.     33(a1):Vibrato rate               ($0E~$72:-50~+50)
  753.     34(a1):Vibrato depth              ($0E~$72:-50~+50)
  754.     35(a1):TVF cutoff freq.           ($0E~$50:-50~+16)
  755.     36(a1):TVF resonance              ($0E~$72:-50~+50)
  756.     37(a1):TVF&TVA Env.attack         ($0E~$72:-50~+50)
  757.     38(a1):TVF&TVA Env.decay          ($0E~$72:-50~+50)
  758.     39(a1):TVF&TVA Env.release        ($0E~$72:-50~+50)
  759.     40(a1):Vibrato delay              ($0E~$72:-50~+50)
  760.  
  761.     41(a1):SCALE TUNING C           ($00~$7F:-64~+63[cent])
  762.     42(a1):SCALE TUNING C#           ($00~$7F:-64~+63[cent])
  763.     43(a1):SCALE TUNING D           ($00~$7F:-64~+63[cent])
  764.     44(a1):SCALE TUNING D#           ($00~$7F:-64~+63[cent])
  765.     45(a1):SCALE TUNING E           ($00~$7F:-64~+63[cent])
  766.     46(a1):SCALE TUNING F           ($00~$7F:-64~+63[cent])
  767.     47(a1):SCALE TUNING F#           ($00~$7F:-64~+63[cent])
  768.     48(a1):SCALE TUNING G           ($00~$7F:-64~+63[cent])
  769.     49(a1):SCALE TUNING G#           ($00~$7F:-64~+63[cent])
  770.     50(a1):SCALE TUNING A           ($00~$7F:-64~+63[cent])
  771.     51(a1):SCALE TUNING A#           ($00~$7F:-64~+63[cent])
  772.     52(a1):SCALE TUNING B           ($00~$7F:-64~+63[cent])
  773.  
  774.     53(a1):MOD PITCH CONTROL       ($28~$58:-24~+24[semitone])
  775.     54(a1):MOD TVF CUTOFF CONTROL       ($00~$7F:-9600~+9600[CENT])
  776.     55(a1):MOD AMPLITUDE CONTROL       ($00~$7F:-100.0~+100.0[%])
  777.     56(a1):MOD LFO1 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  778.     57(a1):MOD LFO1 PITCH DEPTH       ($00~$7F:0~600[cent])
  779.     58(a1):MOD LFO1 TVF DEPTH       ($00~$7F:0~2400[cent])
  780.     59(a1):MOD LFO1 TVA DEPTH       ($00~$7F:0~100.0[%])
  781.     60(a1):MOD LFO2 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  782.     61(a1):MOD LFO2 PITCH DEPTH       ($00~$7F:0~600[cent])
  783.     62(a1):MOD LFO2 TVF DEPTH       ($00~$7F:0~2400[cent])
  784.     63(a1):MOD LFO2 TVA DEPTH       ($00~$7F:0~100.0[%])
  785.  
  786.     64(a1):BEND PITCH CONTROL       ($28~$58:-24~+24[semitone])
  787.     65(a1):BEND TVF CUTOFF CONTROL       ($00~$7F:-9600~+9600[CENT])
  788.     66(a1):BEND AMPLITUDE CONTROL       ($00~$7F:-100.0~+100.0[%])
  789.     67(a1):BEND LFO1 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  790.     68(a1):BEND LFO1 PITCH DEPTH       ($00~$7F:0~600[cent])
  791.     69(a1):BEND LFO1 TVF DEPTH       ($00~$7F:0~2400[cent])
  792.     70(a1):BEND LFO1 TVA DEPTH       ($00~$7F:0~100.0[%])
  793.     71(a1):BEND LFO2 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  794.     72(a1):BEND LFO2 PITCH DEPTH       ($00~$7F:0~600[cent])
  795.     73(a1):BEND LFO2 TVF DEPTH       ($00~$7F:0~2400[cent])
  796.     74(a1):BEND LFO2 TVA DEPTH       ($00~$7F:0~100.0[%])
  797.  
  798.     75(a1):CAf PITCH CONTROL       ($28~$58:-24~+24[semitone])
  799.     76(a1):CAf TVF CUTOFF CONTROL       ($00~$7F:-9600~+9600[CENT])
  800.     77(a1):CAf AMPLITUDE CONTROL       ($00~$7F:-100.0~+100.0[%])
  801.     78(a1):CAf LFO1 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  802.     79(a1):CAf LFO1 PITCH DEPTH       ($00~$7F:0~600[cent])
  803.     80(a1):CAf LFO1 TVF DEPTH       ($00~$7F:0~2400[cent])
  804.     81(a1):CAf LFO1 TVA DEPTH       ($00~$7F:0~100.0[%])
  805.     82(a1):CAf LFO2 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  806.     83(a1):CAf LFO2 PITCH DEPTH       ($00~$7F:0~600[cent])
  807.     84(a1):CAf LFO2 TVF DEPTH       ($00~$7F:0~2400[cent])
  808.     85(a1):CAf LFO2 TVA DEPTH       ($00~$7F:0~100.0[%])
  809.  
  810.     86(a1):PAf PITCH CONTROL       ($28~$58:-24~+24[semitone])
  811.     87(a1):PAf TVF CUTOFF CONTROL       ($00~$7F:-9600~+9600[CENT])
  812.     88(a1):PAf AMPLITUDE CONTROL       ($00~$7F:-100.0~+100.0[%])
  813.     89(a1):PAf LFO1 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  814.     90(a1):PAf LFO1 PITCH DEPTH       ($00~$7F:0~600[cent])
  815.     91(a1):PAf LFO1 TVF DEPTH       ($00~$7F:0~2400[cent])
  816.     92(a1):PAf LFO1 TVA DEPTH       ($00~$7F:0~100.0[%])
  817.     93(a1):PAf LFO2 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  818.     94(a1):PAf LFO2 PITCH DEPTH       ($00~$7F:0~600[cent])
  819.     95(a1):PAf LFO2 TVF DEPTH       ($00~$7F:0~2400[cent])
  820.     96(a1):PAf LFO2 TVA DEPTH       ($00~$7F:0~100.0[%])
  821.  
  822.     97(a1):CC1 PITCH CONTROL       ($28~$58:-24~+24[semitone])
  823.     98(a1):CC1 TVF CUTOFF CONTROL       ($00~$7F:-9600~+9600[CENT])
  824.     99(a1):CC1 AMPLITUDE CONTROL       ($00~$7F:-100.0~+100.0[%])
  825.        100(a1):CC1 LFO1 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  826.        101(a1):CC1 LFO1 PITCH DEPTH       ($00~$7F:0~600[cent])
  827.        102(a1):CC1 LFO1 TVF DEPTH       ($00~$7F:0~2400[cent])
  828.        103(a1):CC1 LFO1 TVA DEPTH       ($00~$7F:0~100.0[%])
  829.        104(a1):CC1 LFO2 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  830.        105(a1):CC1 LFO2 PITCH DEPTH       ($00~$7F:0~600[cent])
  831.        106(a1):CC1 LFO2 TVF DEPTH       ($00~$7F:0~2400[cent])
  832.        107(a1):CC1 LFO2 TVA DEPTH       ($00~$7F:0~100.0[%])
  833.  
  834.        108(a1):CC2 PITCH CONTROL       ($28~$58:-24~+24[semitone])
  835.        109(a1):CC2 TVF CUTOFF CONTROL       ($00~$7F:-9600~+9600[CENT])
  836.        110(a1):CC2 AMPLITUDE CONTROL       ($00~$7F:-100.0~+100.0[%])
  837.        111(a1):CC2 LFO1 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  838.        112(a1):CC2 LFO1 PITCH DEPTH       ($00~$7F:0~600[cent])
  839.        113(a1):CC2 LFO1 TVF DEPTH       ($00~$7F:0~2400[cent])
  840.        114(a1):CC2 LFO1 TVA DEPTH       ($00~$7F:0~100.0[%])
  841.        115(a1):CC2 LFO2 RATE CONTROL       ($00~$7F:-10.0~+10.0[Hz])
  842.        116(a1):CC2 LFO2 PITCH DEPTH       ($00~$7F:0~600[cent])
  843.        117(a1):CC2 LFO2 TVF DEPTH       ($00~$7F:0~2400[cent])
  844.        118(a1):CC2 LFO2 TVA DEPTH       ($00~$7F:0~100.0[%])
  845.        (SC55のマニュアルp75,p79~p80参照)
  846. --------------------------------------------------------------------------------
  847. ファンクション$25    ZM_GS_DRUM_PARAMETER(ZM_GS_DRUM_SETUP)
  848.  
  849. 機能    GS音源のドラム・セットアップ設定
  850.  
  851. 引数    d1.w:MIDIポートの番号(0-3)
  852.          -1はカレントMIDI-OUTを使用
  853.     d2.l:ドラム・セットアップ・パラメータ・データサイズ(1-8)
  854.     d3.lw:DEVICE ID(0-127,-1:以前の値を使用)
  855.     d3.hwlb:NOTE NUMBER(0-127)
  856.     d2.hwhb:MAP NUMBER(0-1)
  857.     a1.l:ドラム・セットアップ・パラメータ格納バッファアドレス
  858.  
  859. 戻り値    d0.l=0:正常終了
  860.     d0.l=0以外:エラーコード
  861.  
  862. 備考    a1.lからの領域にドラム・セットアップ・パラメータを記述しておく。
  863.     d2.lは8以内で指定した個数分のパラメータがGS音源へ送信される。
  864.     d3.lwを-1とすると以前設定したものが選択される。最初の使用時に
  865.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  866.  
  867.     0(a1):PLAY KEY NUMBER            (0~127)
  868.     1(a1):LEVEL                      (0~127)
  869.     2(a1):ASSIGN GROUP NUMBER        (0:NON,1~127)
  870.     3(a1):PANPOT                     (0:RANDOM,01(LEFT)~64~127(RIGHT))
  871.     4(a1):REVERB DEPTH               (0~127:0.0~1.0)
  872.     5(a1):CHORUS DEPTH               (0~127:0.0~1.0)
  873.     6(a1):Rx NOTE OFF                (0~1:OFF/ON)
  874.     7(a1):Rx NOTE ON                 (0~1:OFF/ON)
  875.     (SC55マニュアルp75,p82参照)
  876. --------------------------------------------------------------------------------
  877. ファンクション$26    ZM_GS_DRUM_NAME
  878.  
  879. 機能    GS音源のドラム・セット名設定
  880.  
  881. 引数    d1.w:MIDIポートの番号(0-3)
  882.          -1はカレントMIDI-OUTを使用
  883.     d2.l:ドラム・セットアップ・パラメータ・データサイズ(1-8)
  884.     d3.lw:DEVICE ID(0-127,-1:以前の値を使用)
  885.     d3.hw:MAP NUMBER(0,1)
  886.     a1.l:ドラム・セット名文字列格納バッファアドレス
  887.  
  888. 戻り値    d0.l=0:正常終了
  889.     d0.l=0以外:エラーコード
  890.  
  891. 備考    文字列は12文字以内でa1.lからの領域に文字列を記述しておく。
  892.     d3.lwを-1とすると以前設定したものが選択される。最初の使用時に
  893.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  894.     (SC55マニュアルp82参照)
  895. --------------------------------------------------------------------------------
  896. ファンクション$27    ZM_GS_PRINT
  897.  
  898. 機能    GS音源の画面へのメッセージ出力
  899.  
  900. 引数    d1.w:MIDIポートの番号(0-3)
  901.          -1はカレントMIDI-OUTを使用
  902.     d2.l:メッセージ長(1-32)
  903.     d3.w:DEVICE ID(0-127,-1:以前の値を使用)
  904.     a1.l:文字列格納バッファアドレス
  905.  
  906. 戻り値    d0.l=0:正常終了
  907.     d0.l=0以外:エラーコード
  908.  
  909. 備考    メッセージは32文字以内でa1.lからの領域に文字列を記述しておく。
  910.     d3.wを-1とすると以前設定したものが選択される。最初の使用時に
  911.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  912. --------------------------------------------------------------------------------
  913. ファンクション$28    ZM_GS_DISPLAY
  914.  
  915. 機能    GS音源の画面へのドットパターン出力
  916.  
  917. 引数    d1.w:MIDIポートの番号(0-3)
  918.          -1はカレントMIDI-OUTを使用
  919.     d3.w:DEVICE ID(0-127,-1:以前の値を使用)
  920.     a1.l:ドットパターン格納バッファアドレス
  921.  
  922. 戻り値    d0.l=0:正常終了
  923.     d0.l=0以外:エラーコード
  924.  
  925. 備考    a1.lからの領域にドットパターンを記述しておく。
  926.     d3.wを-1とすると以前設定したものが選択される。最初の使用時に
  927.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  928.  
  929.       /*SC55の画面に"善"を表示する*/
  930.     moveq.l    #-1,d1
  931.     moveq.l    #-1,d3
  932.     lea    data(pc),a1
  933.     Z_MUSIC    #ZM_GS_DISPLAY
  934.     rts
  935. data:
  936.       dc.w    %0001000000010000
  937.       dc.w    %0000100000100000
  938.       dc.w    %0111111111111100
  939.         dc.w    %0000000100000000
  940.         dc.w    %0011111111111000
  941.         dc.w    %0000000100000000
  942.         dc.w    %0111111111111100
  943.         dc.w    %0001000100010000
  944.         dc.w    %0000100100100000
  945.         dc.w    %1111111111111110
  946.         dc.w    %0000000000000000
  947.         dc.w    %0011111111111000
  948.         dc.w    %0010000000001000
  949.         dc.w    %0010000000001000
  950.         dc.w    %0011111111111000
  951.         dc.w    %0010000000001000
  952. --------------------------------------------------------------------------------
  953. ファンクション$29    ZM_GM_SYSTEM_ON
  954.  
  955. 機能    GM音源のリセット
  956.  
  957. 引数    d1.w:MIDIポートの番号(0-3)
  958.          -1はカレントMIDI-OUTを使用
  959.  
  960. 戻り値    d0.l=0:正常終了
  961.     d0.l=0以外:エラーコード
  962. --------------------------------------------------------------------------------
  963. ファンクション$30    ZM_MT32_RESET
  964.  
  965. 機能    MT32の初期化
  966.  
  967. 引数    d1.w:MIDIポートの番号(0-3)
  968.          -1はカレントMIDI-OUTを使用
  969.     d3.w:DEVICE ID(0-127,-1:以前の値を使用)
  970.  
  971. 戻り値    d0.l=0:正常終了
  972.     d0.l=0以外:エラーコード
  973.  
  974. 備考    d3.wを-1とすると以前設定したものが選択される。最初の使用時に
  975.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  976. --------------------------------------------------------------------------------
  977. ファンクション$31    ZM_MT32_PARTIAL_RESERVE
  978.  
  979. 機能    MT32のパーシャルリザーブ
  980.  
  981. 引数    d1.w:MIDIポートの番号(0-3)
  982.          -1はカレントMIDI-OUTを使用
  983.     d3.w:DEVICE ID(0-127,-1:以前の値を使用)
  984.     a1.l:パート1~パート9までのパーシャルリザーブ値が
  985.          格納されているバッファアドレス
  986.  
  987. 戻り値    d0.l=0:正常終了
  988.     d0.l=0以外:エラーコード
  989.  
  990. 備考    a1.lからの領域にパーシャルリザーブ値を9パート分格納しておく。
  991.     また、合計が楽器の最大同時発声数以下にならなければならない。
  992.     0(a1)=パート1,1(a1)=パート2…,8(a1)=パート9というふうに対応する。
  993.     なお、8(a1)のパート9はリズムパートに対応する。
  994.     d3.wを-1とすると以前設定したものが選択される。最初の使用時に
  995.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  996. --------------------------------------------------------------------------------
  997. ファンクション$32    ZM_MT32_REVERB
  998.  
  999. 機能    MT32のリバーブパラメータの設定
  1000.  
  1001. 引数    d1.w:MIDIポートの番号(0-3)
  1002.          -1はカレントMIDI-OUTを使用
  1003.     d2.l:リバーブパラメータ・データサイズ(1-3)
  1004.     d3.w:DEVICE ID(0-127,-1:以前の値を使用)
  1005.     a1.l:リバーブパラメータ格納バッファアドレス
  1006.  
  1007. 戻り値    d0.l=0:正常終了
  1008.     d0.l=0以外:エラーコード
  1009.  
  1010. 備考    a1.lからの領域にリバーブパラメータを記述しておく。d2.lは3以内で、
  1011.     指定した個数分のパラメータがMT32へ送信される。
  1012.     d3.wを-1とすると以前設定したものが選択される。最初の使用時に
  1013.     省略した場合はZMUSIC内のデフォルト値$10が選択される
  1014.  
  1015.     0(a1):REVERB MODE                (0:Room,1:Hall,2:Plate,3:Tap Delay)
  1016.     1(a1):REVERB TIME                (0~7)
  1017.     2(a1):REVERB LEVEL               (0~7)
  1018.     (MT32マニュアルp35,CM64マニュアルp30参照)
  1019. --------------------------------------------------------------------------------
  1020. ファンクション$33    ZM_MT32_PART_SETUP
  1021.  
  1022. 機能    MT32のパート・パラメータの設定
  1023.  
  1024. 引数    d1.w:MIDIポートの番号(0-3)
  1025.          -1はカレントMIDI-OUTを使用
  1026.     d2.l:パートパラメータ・データサイズ(1-9)
  1027.     d3.w:DEVICE ID(0-127,-1:以前の値を使用)
  1028.     a1.l:パートパラメータ格納バッファ
  1029.  
  1030. 戻り値    d0.l=0:正常終了
  1031.     d0.l=0以外:エラーコード
  1032.  
  1033. 備考    a1.lからの領域にパートパラメータを記述しておく。
  1034.     パートパラメータは
  1035.     0(a1)=パート1のMIDIチャンネル,1(a1)=パート2のMIDIチャンネル…,
  1036.     8(a1)=リズムパートのMIDIチャンネル
  1037.     という構成を取る
  1038.     d2.lは9以内で指定した個数分のパラメータがMT32へ送信される。
  1039.     d3.wを-1とすると以前設定したものが選択される。最初の使用時に
  1040.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  1041. --------------------------------------------------------------------------------
  1042. ファンクション$34    ZM_MT32_DRUM
  1043.  
  1044. 機能    MT32のドラム・セットアップ設定
  1045.  
  1046. 引数    d1.w:MIDIポートの番号(0-3)
  1047.          -1はカレントMIDI-OUTを使用
  1048.     d2.l:ドラム・セットアップ・パラメータ・データサイズ(1-4)
  1049.     d3.lw:DEVICE ID(0-127,-1:以前の値を使用)
  1050.     d3.hw:NOTE NUMBER(24~87)
  1051.     a1.l:ドラム・セットアップ・パラメータ格納バッファアドレス
  1052.  
  1053. 戻り値    d0.l=0:正常終了
  1054.     d0.l=0以外:エラーコード
  1055.  
  1056. 備考    a1.lからの領域にドラム・セットアップ・パラメータを記述しておく。
  1057.     d2.lは4以内で指定した個数分のパラメータがMT32へ送信される。
  1058.     d3.lwを-1とすると以前設定したものが選択される。最初の使用時に
  1059.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  1060.  
  1061.     0(a1):TIMBRE                   (0~63:i1~64,64~127:r1~64)
  1062.     1(a1):OUTPUT LEVEL             (0~100)
  1063.     2(a1):PANPOT                   (0~14)
  1064.     3(a1):REVERB SWITCH            (0~1:OFF/ON)
  1065.         (MT32マニュアルp35,CM64マニュアルp30参照)
  1066. --------------------------------------------------------------------------------
  1067. ファンクション$35    ZM_MT32_COMMON
  1068.  
  1069. 機能    MT32のコモン・パラメータの設定
  1070.  
  1071. 引数    d1.w:MIDIポートの番号(0-3)
  1072.          -1はカレントMIDI-OUTを使用
  1073.     d2.l:コモン・パラメータ・データサイズ(1-4)
  1074.     d3.lw:DEVICE ID(0-127,-1:以前の値を使用)
  1075.     d3.hw:PROGRAM NUMBER(1-64)
  1076.     a1.l:コモン・パラメータ格納バッファアドレス
  1077.  
  1078. 戻り値    d0.l=0:正常終了
  1079.     d0.l=0以外:エラーコード
  1080.  
  1081. 備考    a1.lからの領域にコモン・パラメータを記述しておく。
  1082.     d2.lは4以内で指定した個数分のパラメータがMT32へ送信される。
  1083.     d3.lwを-1とすると以前設定したものが選択される。最初の使用時に
  1084.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  1085.  
  1086.     0(a1):Structure of Partial#1&2        (0~12:1~13)
  1087.     1(a1):Structure of Partial#3&4        (0~12:1~13)
  1088.     2(a1):PARTIAL MUTE                    (0~15)
  1089.     3(a1):ENV MODE                        (0~1:NORMAL,NO SUSTAIN)
  1090.         (MT32マニュアルp34,CM64マニュアルp29参照)
  1091. --------------------------------------------------------------------------------
  1092. ファンクション$36    ZM_MT32_PARTIAL
  1093.  
  1094. 機能    MT32のパーシャル・パラメータ設定
  1095.  
  1096. 引数    d1.w:MIDIポートの番号(0-3)
  1097.          -1はカレントMIDI-OUTを使用
  1098.     d2.l:パーシャル・パラメータ・データサイズ(1-58)
  1099.     d3.lw:d0-d15=DEVICE ID(0-127,-1:以前の値を使用)
  1100.     d3.hwlb:PARTIAL NUMBER(1-4)
  1101.     d3.hwhb:PROGRAM NUMBER(1-64)
  1102.     a1.l:パーシャル・パラメータ格納バッファアドレス
  1103.  
  1104. 戻り値    d0.l=0:正常終了
  1105.     d0.l=0以外:エラーコード
  1106.  
  1107. 備考    a1.lからの領域にパーシャル・パラメータを記述しておく。
  1108.     d2.lは58以内で指定した個数分のパラメータがMT32へ送信される。
  1109.     d3.lwを-1とすると以前設定したものが選択される。最初の使用時に
  1110.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  1111.  
  1112.     0(a1):WG PITCH COARSE                    (0~96:C1,C#1,~,C9)
  1113.     1(a1):WG PITCH FINE                      (0~100:-50~+50)
  1114.     2(a1):WG PITCH KEYFOLLOW                 (0~16:-1,-1/2,-1/4,0,1/8,1/4,
  1115.                             3/8,1/2,5/8,3/4,7/8,1,
  1116.                             5/4,3/2,2,s1,s2)
  1117.     3(a1):WG PITCH BENDER SW                 (0~1:OFF/ON)
  1118.     4(a1):WG WAVEFORM/PCM BANK               (0~3:SQU1,SAW1,SQU2,SAW2)
  1119.     5(a1):WG PCM WAVE                        (0~127:1~128)
  1120.     6(a1):WG PULSE WIDTH                     (0~100)
  1121.     7(a1):WG PW VELO SENS                    (0~14:-7~+7)
  1122.     8(a1):P-ENV DEPTH                        (0~10)
  1123.     9(a1):P-ENV VELO SENS                    (0~3)
  1124.        10(a1):P-ENV TIME KEYF                    (0~4)
  1125.        11(a1):P-ENV TIME 1                       (0~100)
  1126.        12(a1):P-ENV TIME 2                       (0~100)
  1127.        13(a1):P-ENV TIME 3                       (0~100)
  1128.        14(a1):P-ENV TIME 4                       (0~100)
  1129.        15(a1):P-ENV LEVEL 0                      (0~100:-50~+50)
  1130.        16(a1):P-ENV LEVEL 1                      (0~100:-50~+50))
  1131.        17(a1):P-ENV LEVEL 2                      (0~100:-50~+50)
  1132.        18(a1):P-ENV SUSTAIN LEVEL                (0~100:-50~+50)
  1133.        19(a1):END LEVEL                          (0~100:-50~+50)
  1134.        20(a1):P-LFO RATE                         (0~100)
  1135.        21(a1):P-LFO DEPTH                        (0~100)
  1136.        22(a1):P-LFO MOD SENS                     (0~100)
  1137.        23(a1):TVF CUTOFF FREQ                    (0~100)
  1138.        24(a1):TVF RESONANCE                      (0~30)
  1139.        25(a1):TVF KEYFOLLOW                      (0~14:-1,-1/2,-1/4,0,1/8,1/4,
  1140.                              3/8,1/2,5/8,3/4,7/8,1,
  1141.                              5/4,3/2,2)
  1142.        26(a1):TVF BIAS POINT/DIR                 (0~127)
  1143.        27(a1):TVF BIAS LEVEL                     (0~14:-7~+7)
  1144.        28(a1):TVF ENV DEPTH                      (0~100)
  1145.        29(a1):TVF ENV VELO SENS                  (0~100)
  1146.        30(a1):TVF ENV DEPTH KEYF                 (0~4)
  1147.        31(a1):TVF ENV TIME KEYF                  (0~4)
  1148.        32(a1):TVF ENV TIME 1                     (0~100)
  1149.        33(a1):TVF ENV TIME 2                     (0~100)
  1150.        34(a1):TVF ENV TIME 3                     (0~100)
  1151.        35(a1):TVF ENV TIME 4                     (0~100)
  1152.        36(a1):TVF ENV TIME 5                     (0~100)
  1153.        37(a1):TVF ENV LEVEL 1                    (0~100)
  1154.        38(a1):TVF ENV LEVEL 2                    (0~100)
  1155.        39(a1):TVF ENV LEVEL 3                    (0~100)
  1156.        40(a1):TVF ENV SUSTAIN LEVEL              (0~100)
  1157.        41(a1):TVA LEVEL                          (0~100)
  1158.        42(a1):TVA VELO SENS                      (0~100:-50~+50
  1159.        43(a1):TVA BIAS POINT 1                   (0~127)
  1160.        44(a1):TVA BIAS LEVEL 1                   (0~12:-12~0)
  1161.        45(a1):TVA BIAS POINT 2                   (0~127)
  1162.        46(a1):TVA BIAS LEVEL 2                   (0~12:-12~0)
  1163.        47(a1):TVA ENV TIME KEYF                  (0~4)
  1164.        48(a1):TVA ENV TIME V_FOLLOW              (0~4)
  1165.        49(a1):TVA ENV TIME 1                     (0~100)
  1166.        50(a1):TVA ENV TIME 2                     (0~100)
  1167.        51(a1):TVA ENV TIME 3                     (0~100)
  1168.        52(a1):TVA ENV TIME 4                     (0~100)
  1169.        53(a1):TVA ENV TIME 5                     (0~100)
  1170.        54(a1):TVA ENV LEVEL 1                    (0~100)
  1171.        55(a1):TVA ENV LEVEL 2                    (0~100)
  1172.        56(a1):TVA ENV LEVEL 3                    (0~100)
  1173.        57(a1):TVA ENV SUSTAIN LEVEL              (0~100)
  1174.        (MT32マニュアルp34,CM64マニュアルp29参照)
  1175. --------------------------------------------------------------------------------
  1176. ファンクション$37    ZM_MT32_PATCH
  1177.  
  1178. 機能    MT32のパッチ・パラメータ設定
  1179.  
  1180. 引数    d1.w:MIDIポートの番号(0-3)
  1181.          -1はカレントMIDI-OUTを使用
  1182.     d2.l:パッチ・パラメータ・データサイズ(1-7)
  1183.     d3.lw:d0-d15=DEVICE ID(0-127,-1:以前の値を使用)
  1184.     d3.hw:PATCH NUMBER(1-128)
  1185.     a1.l:パッチ・パラメータ格納バッファアドレス
  1186.  
  1187. 戻り値    d0.l=0:正常終了
  1188.     d0.l=0以外:エラーコード
  1189.  
  1190. 備考    a1.lからの領域にパッチ・パラメータを記述しておく。
  1191.     d2.lは7以内で指定した個数分のパラメータがMT32へ送信される。
  1192.     d3.lwを-1とすると以前設定したものが選択される。最初の使用時に
  1193.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  1194.  
  1195.     0(a1):TIMBRE GROUP               (0~3:a,b,i,r)
  1196.     1(a1):TIMBRE NUMBER              (0~63)
  1197.     2(a1):KEY SHIFT                  (0~48:-24~+24)
  1198.     3(a1):FINE TUNE                  (0~100:-50~+50)
  1199.     4(a1):BENDER RANGE               (0~24)
  1200.     5(a1):ASSIGN MODE                (0~3:POLY1~4)
  1201.     6(a1):REVERB SWITCH              (0~1:OFF/ON)
  1202.     (MT32マニュアルp35,CM64マニュアルp30参照)
  1203. --------------------------------------------------------------------------------
  1204. ファンクション$38    ZM_MT32_PRINT
  1205.  
  1206. 機能    MT32の画面へのメッセージ出力
  1207.  
  1208. 引数    d1.w:MIDIポートの番号(0-3)
  1209.          -1はカレントMIDI-OUTを使用
  1210.     d2.l:メッセージ長(1-20)
  1211.     d3.w:d0-d15=DEVICE ID(0-127,-1:以前の値を使用)
  1212.     a1.l:文字列格納バッファアドレス
  1213.  
  1214. 戻り値    d0.l=0:正常終了
  1215.     d0.l=0以外:エラーコード
  1216.  
  1217. 備考    メッセージは20文字以内でa1.lからの領域に文字列を記述しておく。
  1218.     d3.wを-1とすると以前設定したものが選択される。最初の使用時に
  1219.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  1220. --------------------------------------------------------------------------------
  1221. ファンクション$39    ZM_U220_SETUP
  1222.  
  1223. 機能    U220のセットアップ・パラメータの設定
  1224.  
  1225. 引数    d1.w:MIDIポートの番号(0-3)
  1226.          -1はカレントMIDI-OUTを使用
  1227.     d3.w:DEVICE ID(0-127,-1:以前の値を使用)
  1228.     a1.l:セットアップ・パラメータ格納バッファアドレス
  1229.  
  1230. 戻り値    d0.l=0:正常終了
  1231.     d0.l=0以外:エラーコード
  1232.  
  1233. 備考    a1.lからの領域にセットアップ・パラメータを記述しておく。
  1234.     a1.lの構成は必ず下に示す書式に従う。
  1235.     d3.wを-1とすると以前設定したものが選択される。最初の使用時に
  1236.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  1237.  
  1238.     0(a1):Chorus SW                          (0~1:OFF/ON)
  1239.     1(a1):Reverb SW                          (0~1:OFF/ON)
  1240.     2(a1):Rx Cntrl Channel                   (1~17:1~16,OFF)
  1241.     3(a1):Patch Change                       (0~5:MAP1~MAP4,Dir,OFF)
  1242.     4(a1):Timbre Change                      (0~5:MAP1~MAP4,Dir,OFF)
  1243.     5(a1):Rhythm Change                      (0~5:MAP1~MAP4,Dir,OFF)
  1244.     6(a1):R.Inst Assign                      (0~5:MAP1~MAP4,Dir,OFF)
  1245.      (U220マニュアルp46,p146~148参照)
  1246.  
  1247. 注意    U220用の命令はU20に対しても使用できる。以下同様。
  1248. --------------------------------------------------------------------------------
  1249. ファンクション$3a    ZM_U220_PART_SETUP
  1250.  
  1251. 機能    U220の(テンポラリパッチ)パートセットアップ・パラメータの設定
  1252.  
  1253. 引数    d1.w:MIDIポートの番号(0-3)
  1254.          -1はカレントMIDI-OUTを使用
  1255.     d3.lw:DEVICE ID(0-127,-1:以前の値を使用)
  1256.     d3.hw:PART NUMBER(1-6)
  1257.     a1.l:パートセットアップ・パラメータ格納バッファアドレス
  1258.  
  1259. 戻り値    d0.l=0:正常終了
  1260.     d0.l=0以外:エラーコード
  1261.  
  1262. 備考    a1.lからの領域にパートセットアップ・パラメータを記述しておく。
  1263.     a1.lの構成は必ず下に示す書式に従う。
  1264.     d3.lwを-1とすると以前設定したものが選択される。最初の使用時に
  1265.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  1266.  
  1267.     0(a1):Timbre Number                  (1~128)
  1268.     1(a1):Voice Reserve                  (0~30)
  1269.     2(a1):Receive Channel                (1~17:1~16,OFF)
  1270.     3(a1):Key Range Low                  (0~127:C-1~G9)
  1271.     4(a1):Key Range High                 (0~127:C-1~G9)
  1272.     5(a1):Velo Level                     (0~1:Above/Below)
  1273.     6(a1):Velo Threshold                 (0~127)
  1274.     7(a1):Output Assign                  (0~4:Dry,Rev,Cho,Dir1,Dir2)
  1275.     8(a1):Level                          (0~127)
  1276.     9(a1):Pan                            (0~15:L7~M~R7)
  1277.        10(a1):Rx Volume                      (0~1:OFF/ON)
  1278.        11(a1):Rx Pan                         (0~1:OFF/ON)
  1279.        12(a1):Rx Hold                        (0~1:OFF/ON)
  1280.        (U220マニュアルp58,p149参照)
  1281. --------------------------------------------------------------------------------
  1282. ファンクション$3b    ZM_U220_COMMON
  1283.  
  1284. 機能    U220の(テンポラリパッチ)コモン・パラメータの設定
  1285.  
  1286. 引数    d1.w:MIDIポートの番号(0-3)
  1287.          -1はカレントMIDI-OUTを使用
  1288.     d3.w:DEVICE ID(0-127,-1:以前の値を使用)
  1289.     a1.l:コモン・パラメータ格納バッファアドレス
  1290.  
  1291. 戻り値    d0.l=0:正常終了
  1292.     d0.l=0以外:エラーコード
  1293.  
  1294. 備考    a1.lからの領域にコモン・パラメータを記述しておく。
  1295.     a1.lの構成は必ず下に示す書式に従う。
  1296.     d3.wを-1とすると以前設定したものが選択される。最初の使用時に
  1297.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  1298.  
  1299.     0(a1):Chorus Type                    (0~4:Chorus1,Chorus2,FB-Chorus,
  1300.                           Flanger,Short Delay)
  1301.     1(a1):Chorus Out Mode                (0~1:Pre Rev,Post Rev)
  1302.     2(a1):Chorus Level                   (0~31)
  1303.     3(a1):Chorus Delay                   (0~31)
  1304.     4(a1):Chorus Rate                    (0~31)
  1305.     5(a1):Chorus Depth                   (0~31)
  1306.     6(a1):Chorus Feedback                (1~63:-31~0~+31)
  1307.     7(a1):Reverb Type                    (0~7:Room1~3,Hall1~2,Gate
  1308.                           Delay,CrossDelay)
  1309.     8(a1):Reverb Time                    (0~31)
  1310.     9(a1):Reverb Level                   (0~31)
  1311.        10(a1):Reverb Delay Feedback          (0~31)
  1312.        11(a1):Reverb Pre Delay Feedback      (0~31)
  1313.        12(a1):Param1 #                       (0~63:0~5,7~31,64~95,OFF)
  1314.        13(a1):Param1 Param                   (0:Timbre Level,1:Env Attack
  1315.                           2:Env Decay,3:Env Sustain
  1316.                           4:Env Release,5:A.Bend Depth
  1317.                           6:A.Bend Rate,7:Detune Depth
  1318.                           8:Vib Rate,9:Vib Wave Form
  1319.                          10:Vib Depth,11:Vib Delay
  1320.                          12:Vib Rise Time,13:Vib Mod Depth
  1321.                          14:Chorus Level,15:Chorus Rate
  1322.                          16:Chorus Feedback,17:Reverb Level
  1323.                          18:Delay Feedback)
  1324.        14(a1):Param2 #                       (Same as Param1 #)
  1325.        15(a1):Param2 Param                   (Same as Param1 Param)
  1326.        16(a1):Param3 #                       (Same as Param1 #)
  1327.        17(a1):Param3 Param                   (Same as Param1 Param)
  1328.        (U220マニュアルp54,p149参照)
  1329. --------------------------------------------------------------------------------
  1330. ファンクション$3c    ZM_U220_TIMBRE
  1331.  
  1332. 機能    U220のティンバー・パラメータの設定
  1333.  
  1334. 引数    d1.w:MIDIポートの番号(0-3)
  1335.          -1はカレントMIDI-OUTを使用
  1336.     d3.lw:d0-d15=DEVICE ID(0-127,-1:以前の値を使用)
  1337.     d3.hw:PROGRAM NUMBER(1-128)
  1338.     a1.l:ティンバー・パラメータ格納バッファアドレス
  1339.  
  1340. 戻り値    d0.l=0:正常終了
  1341.     d0.l=0以外:エラーコード
  1342.  
  1343. 備考    a1.lからの領域にティンバー・パラメータを記述しておく。
  1344.     a1.lの構成は必ず下に示す書式に従う。
  1345.     d3.lwを-1とすると以前設定したものが選択される。最初の使用時に
  1346.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  1347.  
  1348.     0(a1):Tone Media                      (0~31:I,1~31)
  1349.     1(a1):Tone Number                     (1~128)
  1350.     2(a1):Timbre Level                    (0~127)
  1351.     3(a1):Velocity Sens                   (1~15:-7~+7)
  1352.     4(a1):Channel Press Sens              (1~15:-7~+7)
  1353.     5(a1):Env Attack Rate                 (1~15:-7~+7)
  1354.     6(a1):Env Decay Rate                  (1~15:-7~+7)
  1355.     7(a1):Env Sustain Level               (1~15:-7~+7)
  1356.     8(a1):Env Release Rate                (1~15:-7~+7)
  1357.     9(a1):Pitch Shift Coarse              (8~56:-24~+24)
  1358.        10(a1):Pitch Shift Fine                (14~114:-50~+50)
  1359.        11(a1):Bend Range Lower                (0~15:-36,-24,-12~0)
  1360.        12(a1):Bend Range Upper                (0~12)
  1361.        13(a1):Channel After Sens              (0~27:-36,-24,-12~+12)
  1362.        14(a1):Poly After Sens                 (0~27:-36,-24,-12~+12)
  1363.        15(a1):Auto Bend Depth                 (0~27:-36,-24,-12~+12)
  1364.        16(a1):Auto Bend Rate                  (0~15)
  1365.        17(a1):Detune Depth                    (0~15)
  1366.        18(a1):Rate                            (0~63)
  1367.        19(a1):Waveform                        (0~8)
  1368.        20(a1):Depth                           (0~15)
  1369.        21(a1):Delay                           (0~15)
  1370.        22(a1):Rise Time                       (0~15)
  1371.        23(a1):Modulation Depth                (0~15)
  1372.        24(a1):Ch After Sens                   (0~15)
  1373.        25(a1):Poly After Sens                 (0~15)
  1374.        (U220マニュアルp65,p149参照)
  1375. --------------------------------------------------------------------------------
  1376. ファンクション$3d    ZM_U220_DRUM_SETUP
  1377.  
  1378. 機能    U220の(テンポラリパッチ)パッチ・ドラム・セットアップ設定
  1379.  
  1380. 引数    d1.w:MIDIポートの番号(0-3)
  1381.          -1はカレントMIDI-OUTを使用
  1382.     d3.w:DEVICE ID(0-127,-1:以前の値を使用)
  1383.     a1.l:ドラム・セットアップ・パラメータ格納バッファ
  1384.  
  1385. 戻り値    d0.l=0:正常終了
  1386.     d0.l=0以外:エラーコード
  1387.  
  1388. 備考    a1.lからの領域にドラム・セットアップ・パラメータを
  1389.     記述しておく。a1.lの構成は必ず下に示す書式に従う。
  1390.     d3.wを-1とすると以前設定したものが選択される。最初の使用時に
  1391.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  1392.  
  1393.     0(a1):Rhythm Setup #                  (0~3:1~4)
  1394.     1(a1):Voice Reserve                   (0~30)
  1395.     2(a1):Receive Channel                 (1~17:1~16,OFF)
  1396.     3(a1):Level                           (0~127)
  1397.     4(a1):Level Boost Sw                  (0~1:OFF/ON)
  1398.     5(a1):Rx Volume                       (0~1:OFF/ON)
  1399.     6(a1):Rx Hold                         (0~1:OFF/ON)
  1400.         (U220マニュアルp63,p149参照)
  1401. --------------------------------------------------------------------------------
  1402. ファンクション$3e    ZM_U220_DRUM_INST
  1403.  
  1404. 機能    U220の(テンポラリパッチ)ドラム音色設定
  1405.  
  1406. 引数    d1.w:MIDIポートの番号(0-3)
  1407.          -1はカレントMIDI-OUTを使用
  1408.     d3.lw:DEVICE ID(0-127,-1:以前の値を使用)
  1409.     d3.hw:NOTE NUMBER(35-99)
  1410.     a1.l:ドラム音色パラメータ格納バッファアドレス
  1411.  
  1412. 戻り値    d0.l=0:正常終了
  1413.     d0.l=0以外:エラーコード
  1414.  
  1415. 備考    a1.lからの領域にドラム音色パラメータを記述しておく。
  1416.     a1.lの構成は必ず下に示す書式に従う。
  1417.     d3.lwを-1とすると以前設定したものが選択される。最初の使用時に
  1418.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  1419.  
  1420.     0(a1):Tone Media                      (0~31:I,1~31)
  1421.     1(a1):Tone Number                     (1~128)
  1422.     2(a1):Source Key                      (0~127:C-1~G9)
  1423.     3(a1):Mute Inst                       (34~98:OFF,B1~D7)
  1424.     4(a1):Inst Level                      (0~31)
  1425.     5(a1):Velocity Sens                   (0~15)
  1426.     6(a1):Env Mode                        (0~1:Sustain,No Sustain)
  1427.     7(a1):Env Attack Rate                 (1~15:-7~+7)
  1428.     8(a1):Env Decay Rate                  (1~15:-7~+7)
  1429.     9(a1):Env Release Rate                (1~15:-7~+7)
  1430.        10(a1):Pitch Shift Coarse              (0~27:-36,-24,-12~+12)
  1431.        11(a1):Pitch Shift Fine                (14~114:-50~+50)
  1432.        12(a1):Channel After Sens              (0~27:-36,-24,-12~+12)
  1433.        13(a1):Poly After Sens                 (0~27:-36,-24,-12~+12)
  1434.        14(a1):Random                          (0~15)
  1435.        15(a1):Auto Bend Depth                 (0~27:-36,-24,-12~+12)
  1436.        16(a1):Auto Bend Rate                  (0~15)
  1437.        17(a1):Detune Depth                    (0~15)
  1438.        18(a1):Output Assign                   (0~3:Dry,Rev,Cho,Dir1)
  1439.        19(a1):Pan                             (0~15:L7~M~R7)
  1440.        (U220マニュアルp72,p149)
  1441. --------------------------------------------------------------------------------
  1442. ファンクション$3f    ZM_U220_PRINT
  1443.  
  1444. 機能    U220の画面へのメッセージ出力
  1445.  
  1446. 引数    d1.w:MIDIポートの番号(0-3)
  1447.          -1はカレントMIDI-OUTを使用
  1448.     d2.l:メッセージ長(1-12)
  1449.     d3.w:d0-d15=DEVICE ID(0-127,-1:以前の値を使用)
  1450.     a1.l:文字列格納バッファアドレス
  1451.  
  1452. 戻り値    d0.l=0:正常終了
  1453.     d0.l=0以外:エラーコード
  1454.  
  1455. 備考    メッセージは12文字以内でa1.lからの領域に文字列を記述しておく。
  1456.     d3.wを-1とすると以前設定したものが選択される。最初の使用時に
  1457.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  1458. --------------------------------------------------------------------------------
  1459. ファンクション$40    ZM_M1_SETUP
  1460.  
  1461. 機能    M1のSEQ-SONG0のMIDIチャンネルの設定
  1462.  
  1463. 引数    a1.l:8パート分のMIDIチャンネル列格納バッファアドレス
  1464.  
  1465. 戻り値    d0.l=0:正常終了
  1466.     d0.l=0以外:エラーコード
  1467.  
  1468. 備考    a1.lで表される領域には必ず8パート分のMIDIチャンネルを
  1469.     記載しておく。
  1470.  
  1471.     0(a1):パート1のMIDIチャンネル
  1472.     1(a1):パート2のMIDIチャンネル
  1473.     2(a1):パート3のMIDIチャンネル
  1474.     3(a1):パート4のMIDIチャンネル
  1475.     4(a1):パート5のMIDIチャンネル
  1476.     5(a1):パート6のMIDIチャンネル
  1477.     6(a1):パート7のMIDIチャンネル
  1478.     7(a1):パート8のMIDIチャンネル
  1479.  
  1480. 注意    M1用の命令はM1EX/M1R/M1REXに対しても使用できる。以下同様。
  1481. --------------------------------------------------------------------------------
  1482. ファンクション$41    ZM_M1_PART_SETUP
  1483.  
  1484. 機能    M1のSEQ-SONG0のトラックパラメータの設定
  1485.  
  1486. 引数    a1.l:8パート分のトラックパラメータ格納バッファアドレス
  1487.  
  1488. 戻り値    d0.l=0:正常終了
  1489.     d0.l=0以外:エラーコード
  1490.  
  1491. 備考    a1.lで表される領域には必ず8パート分のトラックパラメータを
  1492.     記載しておく。
  1493.  
  1494.     TRACK 1
  1495.     0(a1):PROGRAM NUMBER                  (0~199:I00~C99)
  1496.     1(a1):OUTPUT LEVEL                    (0~99)
  1497.     2(a1):KEY TRANSPOSE                   ($F4~$0C:-12~12)
  1498.     3(a1):DETUNE                          ($CE~$32:-50~+50)
  1499.     4(a1):PAN                             (0~13:10:0~0:10,C,C+D,D)
  1500.     TRACK 2~8
  1501.     以下同様
  1502.     (M1マニュアルp126参照)
  1503. --------------------------------------------------------------------------------
  1504. ファンクション$42    ZM_M1_EFFECT_SETUP
  1505.  
  1506. 機能    M1のSEQ-SONG0のエフェクトパラメータの設定
  1507.  
  1508. 引数    a1.l:エフェクトパラメータ格納バッファアドレス
  1509.  
  1510. 戻り値    d0.l=0:正常終了
  1511.     d0.l=0以外:エラーコード
  1512.  
  1513. 備考    a1.lで表される領域にはダミーデータも含めて必ず25個の
  1514.     エフェクトパラメータが記載されていなければならない。
  1515.  
  1516.     0(a1):Effect 1 Pattern No.            (0~33:1~32,Thru)
  1517.     1(a1):Effect 2 Pattern No.            (0~33:1~32,Thru)
  1518.     2(a1):Effect 1 L-Ch E.Balnc           (0~100)
  1519.     3(a1):Effect 1 R-Ch E.Balnc           (0~100)
  1520.     4(a1):Effect 2 L-Ch E.Balnc           (0~100)
  1521.     5(a1):Effect 2 R-Ch E.Balnc           (0~100)
  1522.     6(a1):Output 3 Pan                    (0~101:OFF,100:0~0:100)
  1523.     7(a1):Output 4 Pan                    (0~101:OFF,100:0~0:100)
  1524.     8(a1):Effect I/O                      (BIT0:Effect 1 L-Ch 0=OFF/1=ON
  1525.                            BIT1:Effect 1 R-Ch 0=OFF/1=ON
  1526.                            BIT2:Effect 2 L-Ch 0=OFF/1=ON
  1527.                            BIT3:Effect 2 R-Ch 0=OFF/1=ON)
  1528.                            BIT4:Effect 2 0=PARALLEL/1=SERIAL)
  1529.     effect[9~16]:Effect 1 Parameter 
  1530.        effect[17~24]:Effect 2 Parameter
  1531.  
  1532.     Structure  of  Effect  Parameter
  1533.                              (ofs=9 or 17)
  1534.     1~3:Hall (4,5:Room,6:Live Stage)
  1535.     ofs+0(a1):Reverb Time                 (0~97:0.2~9.9),(0~48:0.2~5.0)
  1536.     ofs+1(a1):Dummy                         0
  1537.     ofs+2(a1):High Damp                   (0~99)
  1538.     ofs+3(a1):Pre Delay                   (0~200)
  1539.     ofs+4(a1):E/R Level                   (0~99)
  1540.     ofs+5(a1):Dummy                         0
  1541.     ofs+6(a1):EQ High                     ($F4~$0C:-12~+12)
  1542.     ofs+7(a1):EQ Low                      ($F4~$0C:-12~+12)
  1543.  
  1544.     7~9:Early Reflection 1,2,3
  1545.     ofs+0(a1):E/R Time                    (0~70:100~800)
  1546.     ofs+1(a1):Pre Delay                   (0~200)
  1547.     ofs+2(a1):Dummy                       0
  1548.           :                               :
  1549.     ofs+5(a1):Dummy                       0
  1550.     ofs+6(a1):EQ High                     ($F4~$0C:-12~+12)
  1551.     ofs+7(a1):EQ Low                      ($F4~$0C:-12~+12)
  1552.  
  1553.     10:Stereo Delayt,11:Cross Delay
  1554.     ofs+0(a1):Delay Time L (L)            (0~500)
  1555.     ofs+1(a1):Delay Time L (H)
  1556.     ofs+2(a1):Feedback                    ($9D~$63:-99~99)
  1557.     ofs+3(a1):High Damp                   (0~99)
  1558.     ofs+4(a1):Delay Time R (L)            (0~500)
  1559.     ofs+5(a1):Delay Time R (H)
  1560.     ofs+6(a1):EQ High                     ($F4~$0C:-12~+12)
  1561.     ofs+7(a1):EQ Low                      ($F4~$0C:-12~+12)
  1562.  
  1563.     12~13:Stereo Chorus 1~2 (14~15:Flanger)
  1564.     ofs+0(a1):Depth                       (0~99)
  1565.     ofs+1(a1):Speed                       (0~99:0.03~3.00 0.03step
  1566.                            100~199:3.1~13.0 0.1step
  1567.                            200~216:14.0~30.0 1.0step)
  1568.     ofs+2(a1):LFO Status                  (BIT0:Waveform =0:Sin,=1:Tri
  1569.                            BIT1:Phase =0:0.0゚,=1:180゚
  1570.                            BIT2:Wave Shape =0:Normal
  1571.                                    =1:for Flanger)
  1572.     ofs+3(a1):Feedback                    ($9D~$63:-99~+99)
  1573.     ofs+4(a1):Delay Time                  (0~200),(0~50)
  1574.     ofs+5(a1):Dummy                         0
  1575.     ofs+6(a1):EQ High                     ($F4~$0C:-12~+12)
  1576.     ofs+7(a1):EQ Low                      ($F4~$0C:-12~+12)
  1577.  
  1578.     16~17:Phase Shifter 1~2
  1579.     ofs+0(a1):Depth                       (0~99)
  1580.     ofs+1(a1):Speed                       (0~99:0.03~3.00 0.03step
  1581.                            100~199:3.1~13.0 0.1step
  1582.                            200~216:14.0~30.0 1.0step)
  1583.     ofs+2(a1):LFO Status                  (BIT0:Waveform =0:Sin,=1:Tri
  1584.                            BIT1:Phase =0:0.0゚,=1:180゚
  1585.                            BIT2:Wave Shape =0:Normal
  1586.                                    =1:for Flanger)
  1587.     ofs+3(a1):Feedback                    ($9D~$63:-99~+99)
  1588.     ofs+4(a1):Manual                      (0~99)
  1589.     ofs+5(a1):Dummy                       0
  1590.     ofs+6(a1):Dummy                       0
  1591.     ofs+7(a1):Dummy                       0
  1592.  
  1593.     18~19:Stereo Toremolo 1~2
  1594.     ofs+0(a1):Depth                       (0~99)
  1595.     ofs+1(a1):Speed                       (0~99:0.03~3.00 0.03step
  1596.                            100~199:3.1~13.0 0.1step
  1597.                            200~216:14.0~30.0 1.0step)
  1598.     ofs+2(a1):LFO Status                  (BIT0:Waveform =0:Sin,=1:Tri
  1599.                            BIT1:Phase =0:0.0゚,=1:180゚
  1600.                            BIT2:Wave Shape =0:Normal
  1601.                                    =1:for Flanger)
  1602.     ofs+3(a1):Shape                       ($9D~$63:-99~+99)
  1603.     ofs+4(a1):Dummy                       0
  1604.     ofs+5(a1):Dummy                       0
  1605.     ofs+6(a1):EQ High                     ($F4~$0C:-12~+12)
  1606.     ofs+7(a1):EQ Low                      ($F4~$0C:-12~+12)
  1607.  
  1608.     20:Equalizer
  1609.     ofs+0(a1):Dummy                       0
  1610.          :                                :
  1611.     ofs+3(a1):Dummy                       0
  1612.     ofs+4(a1):Low fc                      (0~2:0.25k,0.50k,1.00k)
  1613.     ofs+5(a1):High fc                     (0~2:1k,2k,4k)
  1614.     ofs+6(a1):High Gain                   ($F4~$0C:-12~+12)
  1615.     ofs+7(a1):Low Gain                    ($F4~$0C:-12~+12)
  1616.  
  1617.     21:Overdrive
  1618.     ofs+0(a1):Dummy                       0
  1619.     ofs+1(a1):Dummy                       0
  1620.     ofs+2(a1):Drive                       (0~99)
  1621.     ofs+3(a1):Level                       (0~99)
  1622.     ofs+4(a1):Dummy                       0
  1623.     ofs+5(a1):Dummy                       0
  1624.     ofs+6(a1):EQ High                     ($F4~$0C:-12~+12)
  1625.     ofs+7(a1):EQ Low                      ($F4~$0C:-12~+12)
  1626.  
  1627.     22:Distortion
  1628.     ofs+0(a1):Dummy                       0
  1629.     ofs+1(a1):Dummy                       0
  1630.     ofs+2(a1):Distortion                  (0~99)
  1631.     ofs+3(a1):Level                       (0~99)
  1632.     ofs+4(a1):Dummy                       0
  1633.     ofs+5(a1):Dummy                       0
  1634.     ofs+6(a1):Dummy                       0
  1635.     ofs+7(a1):EQ Low Gain                 ($F4~$0C:-12~+12)
  1636.  
  1637.     23:Exciter
  1638.  
  1639.     ofs+0(a1):Blend                       ($9D~$63:-99~+99)
  1640.     ofs+1(a1):Emphatic Point              (0~9:1~10)
  1641.     ofs+2(a1):Dummy                       0
  1642.          :                                :
  1643.     ofs+5(a1):Dummy                       0
  1644.     ofs+6(a1):EQ High                     ($F4~$0C:-12~+12)
  1645.     ofs+7(a1):EQ Low                      ($F4~$0C:-12~+12)
  1646.  
  1647.     24:Synphonic Ensamble
  1648.     ofs+0(a1):Depth                       (0~99)
  1649.     ofs+1(a1):Dummy                       0
  1650.          :                                :
  1651.     ofs+5(a1):Dummy                       0
  1652.     ofs+6(a1):EQ High                     ($F4~$0C:-12~+12)
  1653.     ofs+7(a1):EQ Low                      ($F4~$0C:-12~+12)
  1654.  
  1655.     25:Roteffect Speaker
  1656.     ofs+0(a1):Depth                       (0~99)
  1657.     ofs+1(a1):Dummy                       0
  1658.     ofs+2(a1):Speed Rate                  ($F6~$0A:-10~+10)
  1659.     ofs+3(a1):Dummy                       0
  1660.          :                                :
  1661.     ofs+7(a1):Dummy                       0
  1662.  
  1663.     26:Delay/Hall
  1664.     ofs+0(a1):Delay Time (L)              (0~500)
  1665.     ofs+1(a1):Delay Time (H)
  1666.     ofs+2(a1):Feedback                    ($9D~$63:-99~99)
  1667.     ofs+3(a1):High Damp                   (0~99)
  1668.     ofs+4(a1):Reverb Time                 (0~97:0.2~9.9)
  1669.     ofs+5(a1):Dummy                       0
  1670.     ofs+6(a1):High Damp                   (0~99)
  1671.     ofs+7(a1):Pre Delay                   (0~150)
  1672.  
  1673.     27:Delay/Room
  1674.     ofs+0(a1):Delay Time (L)              (0~500)
  1675.     ofs+1(a1):Delay Time (H)
  1676.     ofs+2(a1):Feedback                    ($9D~$63:-99~99)
  1677.     ofs+3(a1):High Damp                   (0~99)
  1678.     ofs+4(a1):Reverb Time                 (0~97:0.2~9.9)
  1679.     ofs+5(a1):Dummy                       0
  1680.     ofs+6(a1):High Damp                   (0~99)
  1681.     ofs+7(a1):Pre Delay                   (0~150)
  1682.  
  1683.     28:Delay/Early Reflection
  1684.     ofs+0(a1):Delay Time (L)              (0~500)
  1685.     ofs+1(a1):Delay Time (H)
  1686.     ofs+2(a1):Feedback                    ($9D~$63:-99~99)
  1687.     ofs+3(a1):High Damp                   (0~99)
  1688.     ofs+4(a1):E/R Time                    (0~30:100~400)
  1689.     ofs+5(a1):Pre Delay                   (0~150)
  1690.     ofs+6(a1):Dummy                       0
  1691.     ofs+7(a1):Dummy                       0
  1692.  
  1693.     29:Delay/Chorus
  1694.     ofs+0(a1):Delay Time L (L)            (0~500)
  1695.     ofs+1(a1):Delay Time L (H)
  1696.     ofs+2(a1):Feedback L                  ($9D~$63:-99~99)
  1697.     ofs+3(a1):High Damp L                 (0~99)
  1698.     ofs+4(a1):Delay Time R (L)            (0~500)
  1699.     ofs+5(a1):Delay Time R (H)
  1700.     ofs+6(a1):Feedback R                  ($9D~$63:-99~99)
  1701.     ofs+7(a1):High Damp R                 (0~99)
  1702.  
  1703.     30:Delay/Chorus (31:Delay Flanger)
  1704.     ofs+0(a1):Delay Time (L)              (0~500)
  1705.     ofs+1(a1):Delay Time (H)
  1706.     ofs+2(a1):Feedback                    ($9D~$63:-99~99)
  1707.     ofs+3(a1):High Damp                   (0~99)
  1708.     ofs+4(a1):Depth                       (0~99)
  1709.     ofs+5(a1):Speed                       (0~99:0.03~3.00 0.03step
  1710.                            100~199:3.1~13.0 0.1step
  1711.                            200~216:14.0~30.0 1.0step)
  1712.     ofs+6(a1):LFO Status                  (BIT0:Waveform =0:Sin,=1:Tri
  1713.                            BIT1:Phase =0:0.0゚,=1:180゚
  1714.                            BIT2:Wave Shape =0:Normal
  1715.                                        =1:for Flanger)
  1716.     ofs+7(a1):Feedback                    0,($9D~$63:-99~99)
  1717.  
  1718.     32:Delay/Phaser
  1719.     ofs+0(a1):Delay Time (L)              (0~500)
  1720.     ofs+1(a1):Delay Time (H)
  1721.     ofs+2(a1):Feedback                    ($9D~$63:-99~99)
  1722.     ofs+3(a1):High Damp                   (0~99)
  1723.     ofs+4(a1):Depth                       (0~99)
  1724.     ofs+5(a1):Speed                       (0~99:0.03~3.00 0.03step)
  1725.     ofs+6(a1):Feedback                    ($9D~$63:-99~99)
  1726.     ofs+7(a1):Dummy                       0
  1727.  
  1728.     33:Delay/Tremolo
  1729.     ofs+0(a1):Delay Time (L)              (0~500)
  1730.     ofs+1(a1):Delay Time (H)
  1731.     ofs+2(a1):Feedback                    ($9D~$63:-99~99)
  1732.     ofs+3(a1):High Damp                   (0~99)
  1733.     ofs+4(a1):Depth                       (0~99)
  1734.     ofs+5(a1):Speed                       (0~99:0.03~3.00 0.03step)
  1735.     ofs+6(a1):Dummy                       0
  1736.     ofs+7(a1):Shape                       ($9D~$63:-99~99)
  1737.         (M1マニュアルp127参照)
  1738. --------------------------------------------------------------------------------
  1739. ファンクション$43    ZM_M1_PRINT
  1740.  
  1741. 機能    M1のSEQ-SONG0のタイトル設定
  1742.  
  1743. 引数    d2.l:メッセージ長(1-10)
  1744.     a1.l:文字列格納バッファアドレス
  1745.  
  1746. 戻り値    d0.l=0:正常終了
  1747.     d0.l=0以外:エラーコード
  1748.  
  1749. 備考    メッセージは10文字以内でa1.lからの領域に文字列を記述しておく。
  1750. --------------------------------------------------------------------------------
  1751. ファンクション$44    ZM_SEND_TO_M1
  1752.  
  1753. 機能    M1へパラメータを送信する
  1754.  
  1755. 引数    d1.w:MIDIポートの番号(0-3)
  1756.          -1はカレントMIDI-OUTを使用
  1757.     d3.w:DEVICE ID(0-127,-1:以前の値を使用)
  1758.  
  1759. 戻り値    d0.l=0:正常終了
  1760.     d0.l=0以外:エラーコード
  1761.  
  1762. 備考    DEVICE ID=&H30+(グローバルチャンネル-1)
  1763.     グローバルチャンネルとはGLOBALモードのF5-1で設定出来る。
  1764.     d3.wは省略可能。省略すると以前設定したものが選択される。最初の使用時に
  1765.     省略した場合はZMUSIC内のデフォルト値$30が選択される。
  1766.     必ずファンクションM1_SETUP~ファンクションM1_PRINTを設定してからこの
  1767.     ファンクションを実行すること。
  1768.     ファンクションM1_EFFECT_SETUPのみ省略が可能。この時はZMUSICが持つ
  1769.     デフォルトデータが送信される。
  1770.     ファンクションM1_SETUP~ファンクションM1_PRINTの間にM1関係以外の
  1771.     ファンクションコールがあると正常なデータが送信されない。
  1772.  
  1773.  
  1774.     lea    midi(pc),a1
  1775.     Z_MUSIC    #M1_SETUP
  1776.  
  1777.     lea    setup(pc),a1
  1778.     Z_MUSIC    #M1_PART_SETUP
  1779.  
  1780.     lea    print(pc),a1
  1781.     Z_MUSIC #M1_PRINT
  1782.  
  1783.     moveq.l    #-1,d1
  1784.     moveq.l    #-1,d3
  1785.     Z_MUSIC    #SEND_TO_M1
  1786.     rts
  1787.  
  1788. midi:    dc.b    2,1,4,3,6,5,8,7
  1789. setup:    /*音色,音量,キートランスポーズ,デチューン,パンのフォーマット*/
  1790.         dc.b    0,99,0,0,5    *TRACK 1
  1791.         dc.b    0,99,0,0,5      *TRACK 2
  1792.         dc.b    0,99,0,0,5      *TRACK 3
  1793.         dc.b    0,99,0,0,5      *TRACK 4
  1794.         dc.b    0,99,0,0,5      *TRACK 5
  1795.         dc.b    0,99,0,0,5      *TRACK 6
  1796.         dc.b    0,99,0,0,5      *TRACK 7
  1797.         dc.b    0,99,0,0,5      *TRACK 8
  1798. print:    dc.b    'Z.Nishikawa',0
  1799. --------------------------------------------------------------------------------
  1800. ファンクション$46    ZM_SC88_MODE_SET
  1801.  
  1802. 機能    SC88モード設定
  1803.  
  1804. 引数    d1.w:MIDIポートの番号(0-3)
  1805.          -1はカレントMIDI-OUTを使用
  1806.     d3.lw:DEVICE ID(0-127,-1:以前の値を使用)
  1807.     d3.hw:SC88 MODE(0:Single, 1:Double)
  1808.  
  1809. 戻り値    d0.l=0:正常終了
  1810.     d0.l=0以外:エラーコード
  1811.  
  1812. 備考    d3.lwを-1とすると以前設定したものが選択される。最初の使用時に
  1813.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  1814. --------------------------------------------------------------------------------
  1815. ファンクション$47    ZM_SC88_REVERB
  1816.  
  1817. 機能    SC88のリバーブ・パラメータの設定
  1818.  
  1819. 引数    d1.w:MIDIポートの番号(0-3)
  1820.          -1はカレントMIDI-OUTを使用
  1821.     d2.l:リバーブパラメータ・データサイズ(1-8)
  1822.     d3.w:DEVICE ID(0-127,-1:以前の値を使用)
  1823.     a1.l:リバーブパラメータ格納バッファアドレス
  1824.  
  1825. 戻り値    d0.l=0:正常終了
  1826.     d0.l=0以外:エラーコード
  1827.  
  1828. 備考    s1.lからの領域にリバーブパラメータを記述しておく。d2.lは8以内で、
  1829.     指定した個数分のパラメータがSC88へ送信される。
  1830.     d3.wを-1とすると以前設定したものが選択される。最初の使用時に
  1831.     省略した場合はZMUSIC内のデフォルト値$10が選択される
  1832.  
  1833.     0(a1):REVERB MACRO 00:Room1,01:Room2,02:Room3,03:Hall1,04:Hall2
  1834.                05:Plate,06:Delay,07:Panning Delay(FB)
  1835.     1(a1):REVERB CHARACTER            ($00~$07)
  1836.     2(a1):REVERB PRE-LPF            ($00~$07)
  1837.     3(a1):REVERB LEVEL            ($00~$7F)
  1838.     4(a1):REVERB TIME            ($00~$7F)
  1839.     5(a1):REVERB DELAY FEEDBACK        ($00~$7F)
  1840.     6(a1):REVERB SEND LEVEL TO CHORUS    ($00~$7F/SC88ではダミー)
  1841.     7(a1):REVERB PRE-DELAY TIME        ($00~$7F)
  1842.     (SC88マニュアルp77参照)
  1843. --------------------------------------------------------------------------------
  1844. ファンクション$48    ZM_SC88_CHORUS
  1845.  
  1846. 機能    SC88のコーラス・パラメータの設定
  1847.  
  1848. 引数    d1.w:MIDIポートの番号(0-3)
  1849.          -1はカレントMIDI-OUTを使用
  1850.     d2.l:コーラスパラメータ・データサイズ(1-9)
  1851.     d3.w:DEVICE ID(0-127,-1:以前の値を使用)
  1852.     a1.l:コーラスパラメータ格納バッファアドレス
  1853.  
  1854. 戻り値    d0.l=0:正常終了
  1855.     d0.l=0以外:エラーコード
  1856.  
  1857. 備考    a1.lからの領域にコーラスパラメータを記述しておく。d2.lは9以内で
  1858.     指定した個数分のパラメータがSC88へ送信される。
  1859.     d3.wを-1とすると以前設定したものが選択される。最初の使用時に
  1860.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  1861.  
  1862.     0(a1):CHORUS MACRO 00:Chorus1,01:Chorus2,02:Chorus3,03:Chorus4
  1863.                04:Feedback Chorus,05:Flanger,06:Short Delay
  1864.                07:Short Delay(FB)
  1865.     1(a1):CHORUS PRE-LPF            ($00~$07)
  1866.     2(a1):CHORUS LEVEL            ($00~$7F)
  1867.     3(a1):CHORUS FEEDBACK            ($00~$7F)
  1868.     4(a1):CHORUS DELAY            ($00~$7F)
  1869.     5(a1):CHORUS RATE            ($00~$7F)
  1870.     6(a1):CHORUS DEPTH            ($00~$7F)
  1871.     7(a1):CHORUS SEND LEVEL TO REVERB    ($00~$7F)
  1872.     8(a1):CHORUS SEND LEVEL TO DELAY    ($00~$7F)
  1873.     (SC88マニュアルp78参照)
  1874. --------------------------------------------------------------------------------
  1875. ファンクション$49    ZM_SC88_DELAY
  1876.  
  1877. 機能    SC88のディレイ・パラメータの設定
  1878.  
  1879. 引数    d1.w:MIDIポートの番号(0-3)
  1880.          -1はカレントMIDI-OUTを使用
  1881.     d2.l:ディレイパラメータ・データサイズ(1-11)
  1882.     d3.w:DEVICE ID(0-127,-1:以前の値を使用)
  1883.     a1.l:ディレイパラメータ格納バッファアドレス
  1884.  
  1885. 戻り値    d0.l=0:正常終了
  1886.     d0.l=0以外:エラーコード
  1887.  
  1888. 備考    a1.lからの領域にリバーブパラメータを記述しておく。d2.lは11以内で、
  1889.     指定した個数分のパラメータがSC88へ送信される。
  1890.     d3.wを-1とすると以前設定したものが選択される。最初の使用時に
  1891.     省略した場合はZMUSIC内のデフォルト値$10が選択される
  1892.  
  1893.     0(a1):DELAY MACRO 00:Delay1,01:Delay2,02:Delay3,03:Delay4,04:Pan Delay1
  1894.               05:Pan Delay2,06:Pan Delay3,07:Pan Delay4
  1895.               08:Delay to Reverb,09:Pan Repeat
  1896.     1(a1):DELAY PRE-LPF            ($00~$07)
  1897.     2(a1):DELAY TIME CENTER            ($01~$73:0.1ms~sec)
  1898.     3(a1):DELAY TIME RATIO LEFT        ($01~$78:4~500%)
  1899.     4(a1):DELAY TIME RATIO RIGHT        ($01~$78:4~500%)
  1900.     5(a1):DELAY LEVEL CENTER        ($00~$7F)
  1901.     6(a1):DELAY LEVEL LEFT            ($00~$7F)
  1902.     7(a1):DELAY LEVEL RIGHT            ($00~$7F)
  1903.     8(a1):DELAY LEVEL            ($00~$7F)
  1904.     9(a1):DELAY FEEDBACK            ($00~$7F:-64~+63)
  1905.     10(a1):DELAY SENDLEVEL TO REVERB    ($00~$7F)
  1906.     (SC88マニュアルp78参照)
  1907. --------------------------------------------------------------------------------
  1908. ファンクション$4a    ZM_SC88_EQUALIZER
  1909.  
  1910. 機能    SC88のイコライザ・パラメータの設定
  1911.  
  1912. 引数    d1.w:MIDIポートの番号(0-3)
  1913.          -1はカレントMIDI-OUTを使用
  1914.     d2.l:イコライザパラメータ・データサイズ(1-4)
  1915.     d3.w:DEVICE ID(0-127,-1:以前の値を使用)
  1916.     a1.l:イコライザパラメータ格納バッファアドレス
  1917.  
  1918. 戻り値    d0.l=0:正常終了
  1919.     d0.l=0以外:エラーコード
  1920.  
  1921. 備考    a1.lからの領域にコーラスパラメータを記述しておく。d2.lは4以内で
  1922.     指定した個数分のパラメータがSC88へ送信される。
  1923.     d3.wを-1とすると以前設定したものが選択される。最初の使用時に
  1924.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  1925.  
  1926.     0(a1):EQ LOW FREQ            (0,1:200Hz,400Hz)
  1927.     1(a1):EQ LOW GAIN            ($34~$4c:-12~+12dB)
  1928.     2(a1):EQ HIGH FREQ            (0,1:3kHz,6kHz)
  1929.     3(a1):EQ HIGH GAIN            ($34~$4c:-12~+12dB)
  1930.     (SC88マニュアルp78参照)
  1931. --------------------------------------------------------------------------------
  1932. ファンクション$4b    ZM_SC88_PART_SETUP(ZM_SC88_PART_PARAMETER)
  1933.  
  1934. 機能    SC88のパート・パラメータの設定
  1935.  
  1936. 引数    d1.w:MIDIポートの番号(0-3)
  1937.          -1はカレントMIDI-OUTを使用
  1938.     d2.l:パートパラメータ・データサイズ(1-127)
  1939.     d3.lw:DEVICE ID(0-127,-1:以前の値を使用)
  1940.     d3.hw:PART NUMBER(1-16)
  1941.     a1.l:パートパラメータ格納バッファアドレス
  1942.  
  1943. 戻り値    d0.l=0:正常終了
  1944.     d0.l=0以外:エラーコード
  1945.  
  1946. 備考    a1.lからの領域にパートパラメータを記述しておく。d2.lは127以内で
  1947.     指定した個数分のパラメータがSC88へ送信される。
  1948.     d3.lwを-1とすると以前設定したものが選択される。最初の使用時に
  1949.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  1950.  
  1951.     0(a1):Rx CHANNEL                  (1~16,17=OFF)
  1952.     1(a1):Rx PITCH BEND               (0~1:OFF/ON)
  1953.     2(a1):Rx CH PRESSURE(CAf)         (0~1:OFF/ON)
  1954.     3(a1):Rx PROGRAM CHANGE           (0~1:OFF/ON)
  1955.     4(a1):Rx CONTROL CHANGE           (0~1:OFF/ON)
  1956.     5(a1):Rx POLY PRESSURE(PAf)       (0~1:OFF/ON)
  1957.     6(a1):Rx NOTE MESSAGE             (0~1:OFF/ON)
  1958.     7(a1):Rx RPN                      (0~1:OFF/ON)
  1959.     8(a1):Rx NRPN                     (0~1:OFF/ON)
  1960.     9(a1):Rx MODURATION               (0~1:OFF/ON)
  1961.     10(a1):Rx VOLUME                  (0~1:OFF/ON)
  1962.     11(a1):Rx PANPOT                  (0~1:OFF/ON)
  1963.     12(a1):Rx EXPRESSION              (0~1:OFF/ON)
  1964.     13(a1):Rx HOLD1                   (0~1:OFF/ON)
  1965.     14(a1):Rx PORTAMENTO              (0~1:OFF/ON)
  1966.     15(a1):Rx SOSTENUTO               (0~1:OFF/ON)
  1967.     16(a1):Rx SOFT                    (0~1:OFF/ON)
  1968.     17(a1):MONO/POLY MODE             (0~1:MONO/POLY)
  1969.     18(a1):ASSIGN MODE                (0:SINGLE,1:LIMITED-MULTI,2:FULL-MULTI)
  1970.     19(a1):USE FOR RHYTHM PART        (0:OFF,1:MAP1,2:MAP2)
  1971.     20(a1):PITCH KEY SHIFT            ($28~$58:-24~+24[semitone])
  1972.     21(a1):PITCH OFFSET FINE(upper)   ($08~$F8:-12.0~+12.0[Hz])
  1973.     22(a1):PITCH OFFSET FINE(lower)         〃
  1974.     23(a1):PART LEVEL                 (0~127)
  1975.     24(a1):VELOCITY SENSE DEPTH       (0~127)
  1976.     25(a1):VELOCITY SENSE OFFSET      (0~127)
  1977.     26(a1):PART PANPOT                (0:RANDOM,01(LEFT)~64~127(RIGHT))
  1978.     27(a1):KEY RANGE LOW              (0~127:C-1~G9)
  1979.     28(a1):KEY RANGE HIGH             (0~127:C-1~G9)
  1980.     29(a1):CC1 CONTROL NUMBER         (0~127)
  1981.     30(a1):CC2 CONTROL NUMBER         (0~127)
  1982.     31(a1):CHORUS SEND LEVEL          (0~127)
  1983.     32(a1):REVERB SEND LEVEL          (0~127)
  1984.     33(a1):Rx BANK SELECT               (0:OFF,1:ON)
  1985.     34(a1):Rx BANK SELECT LSB         (0:OFF,1:ON)
  1986.  
  1987.     35(a1):PITCH FINE TUNE(Upper)     ($00 00~$40 00~$7f 7f:-100~0~+100)
  1988.     36(a1):PITCH FINE TUNE(Lower)
  1989.  
  1990.     37(a1):DELAY SEND LEVEL          (0~127)
  1991.  
  1992.     38(a1):Vibrato rate               ($00~$7f:-64~+63)
  1993.     39(a1):Vibrato depth              ($00~$7f:-64~+63)
  1994.     40(a1):TVF cutoff freq.           ($00~$7f:-64~+63)
  1995.     41(a1):TVF resonance              ($00~$7f:-64~+63)
  1996.     42(a1):TVF&TVA Env.attack         ($00~$7f:-64~+63)
  1997.     43(a1):TVF&TVA Env.decay          ($00~$7f:-64~+63)
  1998.     44(a1):TVF&TVA Env.release        ($00~$7f:-64~+63)
  1999.     45(a1):Vibrato delay              ($00~$7f:-64~+63)
  2000.  
  2001.     46(a1):SCALE TUNING C             ($00~$7F:-64~+63[cent])
  2002.     47(a1):SCALE TUNING C#             ($00~$7F:-64~+63[cent])
  2003.     48(a1):SCALE TUNING D             ($00~$7F:-64~+63[cent])
  2004.     49(a1):SCALE TUNING D#             ($00~$7F:-64~+63[cent])
  2005.     50(a1):SCALE TUNING E             ($00~$7F:-64~+63[cent])
  2006.     51(a1):SCALE TUNING F             ($00~$7F:-64~+63[cent])
  2007.     52(a1):SCALE TUNING F#             ($00~$7F:-64~+63[cent])
  2008.     53(a1):SCALE TUNING G             ($00~$7F:-64~+63[cent])
  2009.     54(a1):SCALE TUNING G#               ($00~$7F:-64~+63[cent])
  2010.     55(a1):SCALE TUNING A               ($00~$7F:-64~+63[cent])
  2011.     56(a1):SCALE TUNING A#               ($00~$7F:-64~+63[cent])
  2012.     57(a1):SCALE TUNING B               ($00~$7F:-64~+63[cent])
  2013.  
  2014.     58(a1):MOD PITCH CONTROL         ($28~$58:-24~+24[semitone])
  2015.     59(a1):MOD TVF CUTOFF CONTROL         ($00~$7F:-9600~+9600[CENT])
  2016.     60(a1):MOD AMPLITUDE CONTROL         ($00~$7F:-100.0~+100.0[%])
  2017.     61(a1):MOD LFO1 RATE CONTROL         ($00~$7F:-10.0~+10.0[Hz])
  2018.     62(a1):MOD LFO1 PITCH DEPTH         ($00~$7F:0~600[cent])
  2019.     63(a1):MOD LFO1 TVF DEPTH         ($00~$7F:0~2400[cent])
  2020.     64(a1):MOD LFO1 TVA DEPTH         ($00~$7F:0~100.0[%])
  2021.     65(a1):MOD LFO2 RATE CONTROL         ($00~$7F:-10.0~+10.0[Hz])
  2022.     66(a1):MOD LFO2 PITCH DEPTH         ($00~$7F:0~600[cent])
  2023.     67(a1):MOD LFO2 TVF DEPTH         ($00~$7F:0~2400[cent])
  2024.     68(a1):MOD LFO2 TVA DEPTH         ($00~$7F:0~100.0[%])
  2025.  
  2026.     69(a1):BEND PITCH CONTROL         ($40~$58:-24~+24[semitone])
  2027.     70(a1):BEND TVF CUTOFF CONTROL         ($00~$7F:-9600~+9600[CENT])
  2028.     71(a1):BEND AMPLITUDE CONTROL         ($00~$7F:-100.0~+100.0[%])
  2029.     72(a1):BEND LFO1 RATE CONTROL         ($00~$7F:-10.0~+10.0[Hz])
  2030.     73(a1):BEND LFO1 PITCH DEPTH         ($00~$7F:0~600[cent])
  2031.     74(a1):BEND LFO1 TVF DEPTH         ($00~$7F:0~2400[cent])
  2032.     75(a1):BEND LFO1 TVA DEPTH         ($00~$7F:0~100.0[%])
  2033.     76(a1):BEND LFO2 RATE CONTROL         ($00~$7F:-10.0~+10.0[Hz])
  2034.     77(a1):BEND LFO2 PITCH DEPTH         ($00~$7F:0~600[cent])
  2035.     78(a1):BEND LFO2 TVF DEPTH         ($00~$7F:0~2400[cent])
  2036.     79(a1):BEND LFO2 TVA DEPTH         ($00~$7F:0~100.0[%])
  2037.  
  2038.     80(a1):CAf PITCH CONTROL         ($28~$58:-24~+24[semitone])
  2039.     81(a1):CAf TVF CUTOFF CONTROL         ($00~$7F:-9600~+9600[CENT])
  2040.     82(a1):CAf AMPLITUDE CONTROL         ($00~$7F:-100.0~+100.0[%])
  2041.     83(a1):CAf LFO1 RATE CONTROL         ($00~$7F:-10.0~+10.0[Hz])
  2042.     84(a1):CAf LFO1 PITCH DEPTH         ($00~$7F:0~600[cent])
  2043.     85(a1):CAf LFO1 TVF DEPTH         ($00~$7F:0~2400[cent])
  2044.     86(a1):CAf LFO1 TVA DEPTH         ($00~$7F:0~100.0[%])
  2045.     87(a1):CAf LFO2 RATE CONTROL         ($00~$7F:-10.0~+10.0[Hz])
  2046.     88(a1):CAf LFO2 PITCH DEPTH         ($00~$7F:0~600[cent])
  2047.     89(a1):CAf LFO2 TVF DEPTH         ($00~$7F:0~2400[cent])
  2048.     90(a1):CAf LFO2 TVA DEPTH         ($00~$7F:0~100.0[%])
  2049.  
  2050.     91(a1):PAf PITCH CONTROL         ($28~$58:-24~+24[semitone])
  2051.     92(a1):PAf TVF CUTOFF CONTROL         ($00~$7F:-9600~+9600[CENT])
  2052.     93(a1):PAf AMPLITUDE CONTROL         ($00~$7F:-100.0~+100.0[%])
  2053.     94(a1):PAf LFO1 RATE CONTROL         ($00~$7F:-10.0~+10.0[Hz])
  2054.     95(a1):PAf LFO1 PITCH DEPTH         ($00~$7F:0~600[cent])
  2055.     96(a1):PAf LFO1 TVF DEPTH         ($00~$7F:0~2400[cent])
  2056.     97(a1):PAf LFO1 TVA DEPTH         ($00~$7F:0~100.0[%])
  2057.     98(a1):PAf LFO2 RATE CONTROL         ($00~$7F:-10.0~+10.0[Hz])
  2058.     99(a1):PAf LFO2 PITCH DEPTH         ($00~$7F:0~600[cent])
  2059.     100(a1):PAf LFO2 TVF DEPTH         ($00~$7F:0~2400[cent])
  2060.     101(a1):PAf LFO2 TVA DEPTH         ($00~$7F:0~100.0[%])
  2061.  
  2062.        102(a1):CC1 PITCH CONTROL         ($28~$58:-24~+24[semitone])
  2063.        103(a1):CC1 TVF CUTOFF CONTROL         ($00~$7F:-9600~+9600[CENT])
  2064.        104(a1):CC1 AMPLITUDE CONTROL         ($00~$7F:-100.0~+100.0[%])
  2065.        105(a1):CC1 LFO1 RATE CONTROL         ($00~$7F:-10.0~+10.0[Hz])
  2066.        106(a1):CC1 LFO1 PITCH DEPTH         ($00~$7F:0~600[cent])
  2067.        107(a1):CC1 LFO1 TVF DEPTH         ($00~$7F:0~2400[cent])
  2068.        108(a1):CC1 LFO1 TVA DEPTH         ($00~$7F:0~100.0[%])
  2069.        109(a1):CC1 LFO2 RATE CONTROL         ($00~$7F:-10.0~+10.0[Hz])
  2070.        110(a1):CC1 LFO2 PITCH DEPTH         ($00~$7F:0~600[cent])
  2071.        111(a1):CC1 LFO2 TVF DEPTH         ($00~$7F:0~2400[cent])
  2072.        112(a1):CC1 LFO2 TVA DEPTH         ($00~$7F:0~100.0[%])
  2073.  
  2074.        113(a1):CC2 PITCH CONTROL         ($28~$58:-24~+24[semitone])
  2075.        114(a1):CC2 TVF CUTOFF CONTROL         ($00~$7F:-9600~+9600[CENT])
  2076.        115(a1):CC2 AMPLITUDE CONTROL         ($00~$7F:-100.0~+100.0[%])
  2077.        116(a1):CC2 LFO1 RATE CONTROL         ($00~$7F:-10.0~+10.0[Hz])
  2078.        117(a1):CC2 LFO1 PITCH DEPTH         ($00~$7F:0~600[cent])
  2079.        118(a1):CC2 LFO1 TVF DEPTH         ($00~$7F:0~2400[cent])
  2080.        119(a1):CC2 LFO1 TVA DEPTH         ($00~$7F:0~100.0[%])
  2081.        120(a1):CC2 LFO2 RATE CONTROL         ($00~$7F:-10.0~+10.0[Hz])
  2082.        121(a1):CC2 LFO2 PITCH DEPTH         ($00~$7F:0~600[cent])
  2083.        122(a1):CC2 LFO2 TVF DEPTH         ($00~$7F:0~2400[cent])
  2084.        123(a1):CC2 LFO2 TVA DEPTH         ($00~$7F:0~100.0[%])
  2085.  
  2086.        124(a1):TONE MAP NUMBER             (0:SELECTED,1:SC55,2:SC88)
  2087.        125(a1):TONE MAP0 NUMBER             (1:SC55,2:SC88)
  2088.        126(a1):EQ ON/OFF             (0:OFF,1:ON)
  2089.        (SC88マニュアルp79~p81参照)
  2090. --------------------------------------------------------------------------------
  2091. ファンクション$4c    ZM_SC88_DRUM_SETUP(ZM_SC88_DRUM_PARAMETER)
  2092.  
  2093. 機能    SC88のドラム・セットアップ設定
  2094.  
  2095. 引数    d1.w:MIDIポートの番号(0-3)
  2096.          -1はカレントMIDI-OUTを使用
  2097.     d2.l:ドラム・セットアップ・パラメータ・データサイズ(1-9)
  2098.     d3.lw:d0-d15=DEVICE ID(0-127,-1:以前の値を使用)
  2099.     d3.hwlb:NOTE NUMBER(0-127)
  2100.     d3.hwhb:MAP NUMBER(0-1)
  2101.     a1.l:ドラム・セットアップ・パラメータ格納バッファアドレス
  2102.  
  2103. 戻り値    d0.l=0:正常終了
  2104.     d0.l=0以外:エラーコード
  2105.  
  2106. 備考    a1.lからの領域にドラム・セットアップ・パラメータを記述しておく。
  2107.     d2.lは9以内で指定した個数分のパラメータがSC88へ送信される。
  2108.     d3.lwを-1とすると以前設定したものが選択される。最初の使用時に
  2109.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  2110.  
  2111.     0(a1):PLAY KEY NUMBER            (0~127)
  2112.     1(a1):LEVEL                      (0~127)
  2113.     2(a1):ASSIGN GROUP NUMBER        (0:NON,1~127)
  2114.     3(a1):PANPOT                     (0:RANDOM,01(LEFT)~64~127(RIGHT))
  2115.     4(a1):REVERB DEPTH               (0~127:0.0~1.0)
  2116.     5(a1):CHORUS DEPTH               (0~127:0.0~1.0)
  2117.     6(a1):Rx NOTE OFF                (0~1:OFF/ON)
  2118.     7(a1):Rx NOTE ON                 (0~1:OFF/ON)
  2119.     8(a1):DELAY SEND LEVEL         (0-127:0.0~1.0)
  2120.     (SC88マニュアルp82参照)
  2121. --------------------------------------------------------------------------------
  2122. ファンクション$4d    ZM_SC88_DRUM_NAME
  2123.  
  2124. 機能    SC88のドラム・セット名設定
  2125.  
  2126. 引数    d1.w:MIDIポートの番号(0-3)
  2127.          -1はカレントMIDI-OUTを使用
  2128.     d2.l:ドラム・セットアップ・パラメータ・データサイズ(1-8)
  2129.     d3.lw:DEVICE ID(0-127,-1:以前の値を使用)
  2130.     d3.hw:MAP NUMBER(0,1,$80,$81)
  2131.     a1.l:ドラム・セット名文字列格納バッファアドレス
  2132.  
  2133. 戻り値    d0.l=0:正常終了
  2134.     d0.l=0以外:エラーコード
  2135.  
  2136. 備考    文字列は12文字以内でa1.lからの領域に文字列を記述しておく。
  2137.     d3.lwを-1とすると以前設定したものが選択される。最初の使用時に
  2138.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  2139.     MAP NUMBER=$80がユーザードラムセット65,MAP NUMBER=$81が
  2140.     ユーザードラムセット66に対応する。
  2141.     (SC88マニュアルp82参照)
  2142. --------------------------------------------------------------------------------
  2143. ファンクション$4e    ZM_SC88_USER_INST
  2144.  
  2145. 機能    SC88のユーザー音色の設定
  2146.  
  2147. 引数    d1.w:MIDIポートの番号(0-3)
  2148.          -1はカレントMIDI-OUTを使用
  2149.     d2.l:ユーザー音色パラメータ・データサイズ(1-11)
  2150.     d3.lw:DEVICE ID(0-127,-1:以前の値を使用)
  2151.     d3.hwlb:PROGRAM NUMBER(0-127)
  2152.     d3.hwhb:BANK NUMBER(0-1)
  2153.     a1.l:ユーザー音色・パラメータ格納バッファアドレス
  2154.  
  2155. 戻り値    d0.l=0:正常終了
  2156.     d0.l=0以外:エラーコード
  2157.  
  2158. 備考    a1.lからの領域にユーザー音色・パラメータを記述しておく。
  2159.     d2.lは11以内で指定した個数分のパラメータがSC88へ送信される。
  2160.     d3.lwを-1とすると以前設定したものが選択される。最初の使用時に
  2161.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  2162.  
  2163.     0(a1):SOURCE TONE#(MAP)          (1,2)
  2164.     1(a1):BANK NUMBER MSB            (0~127)
  2165.     2(a1):PROGRAM NUMBER            (0~127)
  2166.     3(a1):Vibrato rate               ($00~$7f:-64~+63)
  2167.     4(a1):Vibrato depth              ($00~$7f:-64~+63)
  2168.     5(a1):TVF cutoff freq.           ($00~$7f:-64~+63)
  2169.     6(a1):TVF resonance              ($00~$7f:-64~+63)
  2170.     7(a1):TVF&TVA Env.attack         ($00~$7f:-64~+63)
  2171.     8(a1):TVF&TVA Env.decay          ($00~$7f:-64~+63)
  2172.     9(a1):TVF&TVA Env.release        ($00~$7f:-64~+63)
  2173.     10(a1):Vibrato delay             ($00~$7f:-64~+63)
  2174.     (SC88マニュアルp82参照)
  2175. --------------------------------------------------------------------------------
  2176. ファンクション$4f    ZM_SC88_USER_DRUM
  2177.  
  2178. 機能    SC88のユーザードラムセットの設定
  2179.  
  2180. 引数    d1.w:MIDIポートの番号(0-3)
  2181.          -1はカレントMIDI-OUTを使用
  2182.     d2.l:ユーザードラムセット・パラメータ・データサイズ(1-12)
  2183.     d3.lw:DEVICE ID(0-127,-1:以前の値を使用)
  2184.     d3.hwlb:NOTE NUMBER(0-127)
  2185.     d3.hwhb:SET NUMBER(0-1)
  2186.     a1.l:ユーザードラムセット・パラメータ格納バッファ
  2187.  
  2188. 戻り値    d0.l=0:正常終了
  2189.     d0.l=0以外:エラーコード
  2190.  
  2191. 備考    a1.lからの領域にユーザードラムセット・パラメータを記述しておく。
  2192.     d2.lは12以内で指定した個数分のパラメータがSC88へ送信される。
  2193.     d3.lwを-1とすると以前設定したものが選択される。最初の使用時に
  2194.     省略した場合はZMUSIC内のデフォルト値$10が選択される。
  2195.  
  2196.     0(a1):PLAY KEY NUMBER            (0~127)
  2197.     1(a1):LEVEL                      (0~127)
  2198.     2(a1):ASSIGN GROUP NUMBER        (0:NON,1~127)
  2199.     3(a1):PANPOT                     (0:RANDOM,01(LEFT)~64~127(RIGHT))
  2200.     4(a1):REVERB DEPTH               (0~127:0.0~1.0)
  2201.     5(a1):CHORUS DEPTH               (0~127:0.0~1.0)
  2202.     6(a1):Rx NOTE OFF                (0~1:OFF/ON)
  2203.     7(a1):Rx NOTE ON                 (0~1:OFF/ON)
  2204.     8(a1):DELAY SEND LEVEL         (0-127:0.0~1.0)
  2205.     9(a1):SOURCE DRUM SET#(MAP)     (1-2)
  2206.     10(a1):PROGRAM NUMBER         (0-127)
  2207.     11(a1):SOURCE NOTE NUMBER     (0-127)
  2208.     (SC88マニュアルp82参照)
  2209. --------------------------------------------------------------------------------
  2210. ファンクション$50    ZM_PCM_READ
  2211.  
  2212. 機能    (AD)PCMファイルの登録
  2213.  
  2214. 引数    d1.lw:登録番号 (トーン番号の場合:0~32767)
  2215.                (音色番号の場合:$8000+(0~32767)
  2216.     d1.hw:PCM加工コマンド(PPC)でPCMデータ加工するか(-1:YES,0:NO)
  2217.     d2.hwhb:登録次元(-1:ADPCM,1=16BitPCM,0=V2互換)
  2218.     d2.hwlb:オリジナルキー:0-127
  2219.     a1.l:登録データ情報およびPPC列格納バッファ(備考参照)
  2220.          0とするとd1.lwで表される登録済みのトーンや音色を削除する。
  2221.  
  2222. 戻り値    d0.l=0:正常終了
  2223.     d0.l=0以外:エラーコード
  2224.     a0.l:a1.l処理後のアドレス(ただし正常終了(d0.l=0)の時のみ有効)
  2225.  
  2226. 備考    a1.lからはまず、最大32文字分の音色名文字列を格納する。終端コードは0。
  2227.     次にディスクから(AD)PCMファイルを読みこむ場合はそのファイル名を
  2228.     格納する。終端コードは0。...(1)
  2229.     ディスクからデータを読み込まずにすでにZMUSIC側に登録されている
  2230.     (AD)PCMデータをコピーして加工するには音色名の後に $0000 を格納し
  2231.     さらにその後に参照番号を指定する。...(2)
  2232.     PPCで(AD)PCMを加工する場合には、PPC列をこの後ろに格納しておく。
  2233.     また、PPCで(AD)PCMを加工する場合は必ずd1.hwを-1とすること。
  2234.     d1.hwが0だとたとえPPCがあっても無視される。
  2235.     PPCについてはMEASURE12を参照。
  2236.  
  2237.     (1)の場合
  2238.     [TONE NAME...最大32文字],0,[FILENAME文字列],0,PPCコマンド列...
  2239.  
  2240.     (2)の場合
  2241.     [TONE NAME...最大32文字],0,$00,$00,参照先番号(2bytes),PPCコマンド列...
  2242.     参照先番号は
  2243.     ノート番号の場合:0~32767
  2244.     音色番号の場合:$8000+(0~32767)
  2245.     で表される。
  2246. --------------------------------------------------------------------------------
  2247. ファンクション$51    ZM_REGISTER_ZPD
  2248.  
  2249. 機能    ZPDの登録
  2250.  
  2251. 引数    a1.l:登録するZPDのファイルネーム格納アドレス
  2252.  
  2253. 戻り値    d0.l=0:正常終了
  2254.     d0.l=0以外:エラーコード
  2255. --------------------------------------------------------------------------------
  2256. ファンクション$52    ZM_SET_ZPD_TABLE
  2257.  
  2258. 機能    ZPDテーブルの登録
  2259.  
  2260. 引数    d1.l:ZPDバージョンタイプ(0:V1.0~V2.0,1:V3,2:PDX)
  2261.     a1.l:登録するZPDテーブルのアドレス(ZPDヘッダ「$1a,'ZmaDPcM'」含まず)
  2262.  
  2263. 戻り値    d0.l=0:正常終了
  2264.     d0.l=0以外:エラーコード
  2265.  
  2266. 備考    ZPDのテーブルの構造に付いてはMEASURE12を参照
  2267. --------------------------------------------------------------------------------
  2268. ファンクション$53    ZM_CONVERT_PCM
  2269.  
  2270. 機能    (AD)PCMデータの変換を行う
  2271.  
  2272. 引数    d1.w:変換モード(0:ADPCM to PCM,1:PCM TO ADPCM)
  2273.     d2.l:変換元の(AD)PCMのデータサイズ
  2274.     a1.l:変換元となる(AD)PCMデータの格納領域アドレス
  2275.     a2.l:変換先となる(AD)PCMデータの格納領域アドレス
  2276.  
  2277. 戻り値    なし
  2278. --------------------------------------------------------------------------------
  2279. ファンクション$54    ZM_EXEC_SUBFILE
  2280.  
  2281. 機能    サブファイルの読み込みと実行
  2282.  
  2283. 引数    a1.l:サブファイルのファイル名格納アドレス
  2284.  
  2285. 戻り値    d0.l=0:正常終了
  2286.     d0.l=0以外:エラーコード
  2287.  
  2288. 備考    サブファイルとは演奏の際に必要となる別ファイルにまとめた
  2289.     補助ファイルのことを指す。具体的には、演奏ファイル(ZMS,ZMD,OPM)、
  2290.     ADPCM定義リスト(CNF),ZPDファイル、MIDIデータファイル(MDD,MID)など。
  2291. --------------------------------------------------------------------------------
  2292. ファンクション$55    ZM_TRANSMIT_MIDI_DUMP
  2293.  
  2294. 機能    MIDIデータファイルの転送
  2295.  
  2296. 引数    d1.w:MIDIポートの番号(0-3)
  2297.          -1はカレントMIDI-OUTを使用
  2298.     a1.l:MIDIデータファイルのファイル名格納アドレス
  2299.  
  2300. 戻り値    d0.l=0:正常終了
  2301.     d0.l=0以外:エラーコード
  2302.  
  2303. 備考    MIDIデータファイルにはV1からV2で標準MIDIデータファイルと
  2304.     されてきたMDDファイルとV3から採用されたスタンダードMIDI
  2305.     ファイル(FORMAT0)のMIDIファイルの2タイプがあるが、
  2306.     この関数ではどちらも楽器へ転送することができる。
  2307. --------------------------------------------------------------------------------
  2308. ファンクション$56    ZM_SET_WAVE_FORM1
  2309.  
  2310. 機能    波形メモリの登録1
  2311.  
  2312. 引数    d1.w:波形番号(8-32767)
  2313.     a1.l:波形メモリデータ格納バッファアドレス
  2314.  
  2315. 戻り値    d0.l=0:正常終了
  2316.     d0.l=0以外:エラーコード
  2317.  
  2318. 備考    a1.lで表される波形メモリデータは以下の構成を取る。
  2319.     0(a1):(.l)波形のデータサイズ(必ず偶数)
  2320.     4(a1):(.b)ループタイプ(0:oneshot,1:repeat,2:altanative)
  2321.     5(a1):(.l)ループ開始オフセット
  2322.     9(a1):(.l)ループ終了オフセット
  2323.     13(a1):(.l)ループ回数(0:∞,1~)
  2324.     17(a1):(.l)ダミー
  2325.     21(a1):(.b)波形名文字列長
  2326.     22(a1):(.?):文字列(終端コード0無し)
  2327.     偶数アドレスから実際の波形データ(signed short)
  2328.           :
  2329.           :
  2330.     ※本ファンクションで登録された波形はZMUSICに取り込まれるため、登録後
  2331.     波形データ本体のメモリを解放しても構わない。
  2332. --------------------------------------------------------------------------------
  2333. ファンクション$57    ZM_SET_WAVE_FORM2
  2334.  
  2335. 機能    波形メモリの登録2
  2336.  
  2337. 引数    d1.w:波形番号(8-32767)
  2338.     a1.l:波形メモリデータ格納バッファアドレス
  2339.  
  2340. 戻り値    d0.l=0:正常終了
  2341.     d0.l=0以外:エラーコード
  2342.  
  2343. 備考    a1.lで表される波形メモリデータは以下の構成は
  2344.     ファンクションZM_SET_WAVE_FORM1と同じ
  2345.     ※本ファンクションで登録された波形はZMUSICに取り込まれないため、登録後
  2346.     波形データ本体のメモリを解放してはならない。
  2347. --------------------------------------------------------------------------------
  2348. ファンクション$58    ZM_OBTAIN_EVENTS
  2349.  
  2350. 機能    各種イベントの取得
  2351.  
  2352. 引数    d1.w:どのイベントに関する設定を行うかのビットマーカー
  2353.          ビット=1でそのイベントの設定を更新する。
  2354.     a1.l:各種イベント発生時のジャンプ先とジャンプ条件が
  2355.          記述された領域。構成は備考参照。
  2356.          -1とするとint omtによらず設定は一切行わない。
  2357.  
  2358. 戻り値    a0.l=現在の設定を格納した領域のアドレス。構成は備考参照。
  2359.  
  2360. 備考    $00(a1):m_playが実行された時のジャンプ先アドレス        d1.wのd0ビット
  2361.     $04(a1):m_stopが実行された時のジャンプ先アドレス        d1.wのd1ビット
  2362.     $08(a1):m_contが実行された時のジャンプ先アドレス        d1.wのd2ビット
  2363.     $0c(a1):演奏が終了した時のジャンプ先アドレス            d1.wのd3ビット
  2364.     $10(a1):指定ループ回数(0:OFF,1-256)                d1.wのd4ビット
  2365.     $14(a1):指定回数ループした時のジャンプ先アドレス        d1.wのd5ビット
  2366.     $18(a1):指定クロック(0:OFF,1~)                    d1.wのd6ビット
  2367.     $1c(a1):演奏開始後指定クロック経過した時のジャンプ先アドレス    d1.wのd7ビット
  2368.  
  2369.     d1.wでビット=1としたパラメータのみをa1.lから記述しておく。
  2370.     d1.wでビット=0としたパラメータに関しては記述しない。
  2371.     たとえばd1.w=$81の場合、a1.lからは
  2372.     $00(a1)に「m_playが実行された時のジャンプ先アドレス」
  2373.     $04(a1)に「演奏開始後指定クロック経過した時のジャンプ先アドレス」
  2374.     を記述しておけばよい。
  2375.  
  2376.     なお、各ジャンプ先のルーチンではレジスタを破壊してはならず(保存する
  2377.     必要がある)、ルーチンの終端は「RTS」命令で終わる必要がある。
  2378. --------------------------------------------------------------------------------
  2379. ファンクション$59    ZM_LOOP_CONTROL
  2380.  
  2381. 機能    ループ制御
  2382.  
  2383. 引数    d1.l:コントロールモード
  2384.          -1=ループ回数取得
  2385.          0=通常ループ指定
  2386.          1=ループ無視指定
  2387.  
  2388. 戻り値    d0.l=-1以外:現在のループ回数(1~)
  2389.     d0.l=-1:エラー
  2390.  
  2391. 備考    ループ無視指定にいてはMEASURE14参照。
  2392. --------------------------------------------------------------------------------
  2393. ファンクション$5a    ZM_MASK_TRACKS
  2394.  
  2395. 機能    トラックマスク
  2396.  
  2397. 引数    a1.l:0=全トラックマスクモード
  2398.         :1=トラックソロモード
  2399.         :0,1以外=マスクするトラックとマスク・モードのペアを格納した
  2400.              領域のアドレス
  2401.     d1.w:a1.l=0のとき 0=マスク解除,1=マスク反転,-1=マスク設定
  2402.         :a1.l=1のとき ソロ演奏させるトラック番号(0-65534)
  2403.         :a1.l=0,1以外のとき無効
  2404.  
  2405. 戻り値    a0.l=設定出来なかったトラック番号(.w)の並びを格納した領域のアドレス。
  2406.     終端コード=-1(.w)
  2407.  
  2408. 備考    a1.l=0,1のとき、a1.lからは
  2409.     トラック番号(.w):0-65534,
  2410.     マスクモード(.w):0=MASK OFF, 1=REVERSE, -1=MASK ON
  2411.     の数値列を記載する。終端コードは(short)-1。
  2412. --------------------------------------------------------------------------------
  2413. ファンクション$5b    ZM_MASK_CHANNELS
  2414.  
  2415. 機能    チャンネルマスク
  2416.  
  2417. 引数    a1.l:0=全トラックマスクモード
  2418.         :1=トラックソロモード
  2419.         :0,1以外=マスクするトラックとマスク・モードのペアを格納した
  2420.              領域のアドレス
  2421.     d1.w:a1.l=0のとき 0=マスク解除,1=マスク反転,-1=マスク設定
  2422.         :a1.l=1のとき ソロ演奏させるチャンネルID
  2423.         :a1.l=0,1以外のとき無効
  2424.  
  2425. 戻り値    a0.l=設定出来なかったチャンネルID(.l)の並びを格納したアドレス,
  2426.     終端コード=-1(.w)
  2427.  
  2428. 備考    a1.lからは
  2429.     チャンネルID(.l),マスクモード(.w)
  2430.     の数値列を記載する。なお、チャンネルIDは
  2431.     チャンネルID(上位16ビット):0=FM音源,1=ADPCM音源
  2432.                    $8000=MIDI1,$8001=MIDI2
  2433.                    $8002=MIDI3,$8003=MIDI4
  2434.                    -1=カレントMIDI
  2435.     チャンネルID(下位16ビット):チャンネル番号0-15
  2436.     マスクモードは(0:MASK OFF,1:REVERSE,-1:MASK ON)    の値をとる。
  2437.     終端コードは-1(.w)。
  2438.     たとえばMIDI1の15チャンネル(ID:$8000_000e)をマスク(ID:$ffff)、
  2439.     ADPCMの3チャンネル(ID:$0001_0002)をマスク反転(ID:$0001)する場合は
  2440.     { $8000,$000e,$ffff,$0001,$0002,$0001,$ffff }
  2441.     となる。
  2442. --------------------------------------------------------------------------------
  2443. ファンクション$5c    ZM_SET_CH_OUTPUT_LEVEL
  2444.  
  2445. 機能    各チャンネルの出力レベルの設定
  2446.  
  2447. 引数    a1.l:出力パラメータを記載した領域のアドレス
  2448.  
  2449. 戻り値    d0.l=0:正常終了
  2450.     d0.l=0以外:エラーコード
  2451.  
  2452. 備考    a1.lからは以下の構成の出力パラメータを格納しておく。
  2453.     0(a1):(.w)デバイス(0=FM音源,1=ADPCM音源
  2454.               $8000=MIDI1,$8001=MIDI2
  2455.               $8002=MIDI3,$8003=MIDI4
  2456.               -1=カレントMIDI)
  2457.     2(a1):(.w)チャンネル番号(0-15)
  2458.     4(a1):(.b)パラメータ有効ビット(d0:移動速度,d1:開始レベル,d2:終了レベルに
  2459.           それぞれ対応しビット=1でそのパラメータが後続しこれを設定する)
  2460.     5(a1):(.w)移動速度(フェーダー移動速度。0で動かさない)
  2461.     7(a1):(.b)フェーダー移動開始レベル(0-128)
  2462.     8(a1):(.b)フェーダー移動終了レベル(0-128)
  2463. --------------------------------------------------------------------------------
  2464. ファンクション$5d    ZM_SET_TR_OUTPUT_LEVEL
  2465.  
  2466. 機能    各トラックの出力レベルの設定
  2467.  
  2468. 引数    a1.l:出力パラメータを記載した領域アドレス
  2469.  
  2470. 戻り値    d0.l=0:正常終了
  2471.     d0.l=0以外:エラーコード
  2472.  
  2473. 備考    a1.lからは以下の構成の出力パラメータを格納しておく。
  2474.     0(a1):(.w)トラック番号(0-65534)
  2475.     2(a1):(.b)パラメータ有効ビット(d0:移動速度,d1:開始レベル,d2:終了レベルに
  2476.             それぞれ対応しビット=1でそのパラメータが後続しこれを設定する)
  2477.     3(a1):(.w)移動速度(フェーダー移動速度。0で動かさない)
  2478.     5(a1):(.b)フェーダー移動開始レベル(0-128)
  2479.     6(a1):(.b)フェーダー移動終了レベル(0-128)
  2480. --------------------------------------------------------------------------------
  2481. ファンクション$5e    ZM_MASTER_FADER
  2482.  
  2483. 機能    マスターフェーダーの設定
  2484.  
  2485. 引数    a1.l:出力パラメータを記載した領域のアドレス
  2486.  
  2487. 戻り値    d0.l=0:正常終了
  2488.     d0.l=0以外:エラーコード
  2489.  
  2490. 備考    a1.lからは以下の構成の出力パラメータを格納しておく。
  2491.     0(a1):(.w)デバイス(0=FM音源,1=ADPCM音源
  2492.                   $8000=MIDI1,$8001=MIDI2
  2493.                   $8002=MIDI3,$8003=MIDI4
  2494.                   -1=カレントMIDI)
  2495.     2(a1):(.b)パラメータ有効ビット(d0:移動速度,d1:開始レベル,d2:終了レベルに
  2496.           それぞれ対応しビット=1でそのパラメータが後続しこれを設定する)
  2497.     3(a1):(.w)移動速度(フェーダー移動速度。0で動かさない)
  2498.     5(a1):(.b)フェーダー移動開始レベル(0-128)
  2499.     6(a1):(.b)フェーダー移動終了レベル(0-128)
  2500. --------------------------------------------------------------------------------
  2501. ファンクション$5f    ZM_GET_FADER_STATUS
  2502.  
  2503. 機能    フェーダーの状態取得
  2504.  
  2505. 引数    なし
  2506.  
  2507. 戻り値 d0.lの第0,1,6,7ビットに検査結果が反映される。
  2508.     d0:実行中のチャンネルフェーダーすべてが目的に達している(1:達成した 0:達成していない)
  2509.     d1:実行中のマスターフェーダーすべてが目的に達している(1:達成した 0:達成していない)
  2510.     d6:チャンネルフェーダーの状態(1:実行中 0:実行されていない)
  2511.     d7:マスターフェーダーの状態(1:実行中 0:実行されていない)
  2512. --------------------------------------------------------------------------------
  2513. ファンクション$60    ZM_GET_PLAY_TIME
  2514.  
  2515. 機能    演奏時間の取得
  2516.  
  2517. 引数    なし
  2518.  
  2519. 戻り値 d0.lに16進表現で00HHMMSSという書式で返ってくる。
  2520.     なおHH:0-99,MM:0-59,SS:0-59の値を取る。
  2521. --------------------------------------------------------------------------------
  2522. ファンクション$61    ZM_GET_1ST_COMMENT
  2523.  
  2524. 機能    演奏中の曲のコメントを取り出す
  2525.  
  2526. 引数    なし
  2527.  
  2528. 戻り値 a0.l=文字列のポインタ,終端コードは0
  2529. --------------------------------------------------------------------------------
  2530. ファンクション$62    ZM_GET_TIMER_MODE
  2531.  
  2532. 機能    現在のテンポソースとなっているタイマの種類を返す
  2533.  
  2534. 引数    なし
  2535.  
  2536. 戻り値 d0.l=0:タイマ A,1:タイマ B,2:YM3802タイマ
  2537. --------------------------------------------------------------------------------
  2538. ファンクション$63    ZM_GET_TRACK_TABLE
  2539.  
  2540. 機能    演奏トラックテーブルのアドレスを得る
  2541.  
  2542. 引数    なし
  2543.  
  2544. 戻り値 a0.l=音楽演奏トラックテーブルのアドレス
  2545.     d0.l=効果音演奏トラックテーブルのアドレス
  2546.  
  2547. 備考    音楽演奏トラックテーブル,効果音演奏トラックテーブルには演奏に
  2548.     使用されるトラック番号(0-65534)(.w)が-1(.w)を終端コードとして
  2549.     羅列される。
  2550. --------------------------------------------------------------------------------
  2551. ファンクション$64    ZM_GET_PLAY_WORK
  2552.  
  2553. 機能    音楽演奏トラックワークのアドレスを得る
  2554.  
  2555. 引数    d1.w:トラック番号(0-65534)
  2556.  
  2557. 戻り値 a0.l=音楽演奏トラックワークのアドレス
  2558.     d0.l=効果音演奏トラックワークのアドレス
  2559.  
  2560. 備考    音楽演奏トラックワーク,効果音演奏トラックの内容と構成に付いては
  2561.     MEASURE13を参照のこと。
  2562. --------------------------------------------------------------------------------
  2563. ファンクション$65    ZM_GET_BUFFER_INFORMATION
  2564.  
  2565. 機能    バッファ・アドレステーブルのアドレス
  2566.  
  2567. 引数    なし
  2568.  
  2569. 戻り値 a0.l=バッファ・アドレステーブルのアドレス
  2570.  
  2571. 備考    バッファ・アドレステーブルの構成に付いてはMEASURE13を参照のこと
  2572. --------------------------------------------------------------------------------
  2573. ファンクション$66    ZM_GET_ZMSC_STATUS
  2574.  
  2575. 機能    ZMUSICの状態ワークのアドレス
  2576.  
  2577. 引数    なし
  2578.  
  2579. 戻り値 a0.l=ZMUSICの状態ワークのアドレス
  2580.  
  2581. 備考    ZMUSICの状態ワークのアドレスの構成に付いてはMEASURE13を参照のこと
  2582. --------------------------------------------------------------------------------
  2583. ファンクション$67    ZM_CALC_TOTAL
  2584.  
  2585. 機能    ZMDの演奏時間やトータルステップタイムなどの計算
  2586.  
  2587. 引数    a1.l:ZMDの先頭アドレス(ヘッダはあってもなくてもよい)
  2588.  
  2589. 戻り値    d0.l=0:正常終了
  2590.     a0.l=結果格納アドレス
  2591.  
  2592.     d0.l=0以外:発生したエラーの数
  2593.     a0.l=エラーテーブルアドレス
  2594.  
  2595. 備考    ・戻り値が0以外の場合はa0.lにはエラーの内容を格納した
  2596.      エラーテーブルのアドレスが返される。
  2597.      エラーテーブルの構成に付いてはMEASURE11を参照のこと。
  2598.     ・いずれの場合もa0.lに返された領域は使用後ファンクションFREE_MEMなどで
  2599.      解放すること。
  2600.     ・この関数はコンパイラに含まれる外部組み込みのファンクションと
  2601.      であるため、使用前にはコンパイラの常駐を確認する必要がある。
  2602.     ・戻り値が0の場合はa0.lには計算結果データ列を格納した領域の
  2603.      ポインタが返される。計算結果データ列の構成を以下に示す。
  2604.  
  2605.     TOTAL STEPTIME(.l)        グローバルリザルト群
  2606.     TOTAL CHECKSUM(.l)
  2607.     予想演奏時間(.l)        $00HHMMSS
  2608.     RESERVED(.l)
  2609.     RESERVED(.l)
  2610.     RESERVED(.l)
  2611.     RESERVED(.l)
  2612.     RESERVED(.l)
  2613.     TRACK1の情報までのOFFSET(.l)
  2614.     TRACK2の情報までのOFFSET(.l)
  2615.         :
  2616.     TRACKnの情報までのOFFSET(.l)
  2617.     -1.(.w)                endcode
  2618.     TRACK1の情報
  2619.     TRACK2の情報
  2620.         :
  2621.         :
  2622.     TRACKxの情報構成
  2623.  
  2624.     各トラックの情報は以下のような構成を取る
  2625.  
  2626.     clc_total0:        ds.l    1    *.l 総ステップタイム(ループ外)
  2627.     clc_total1:        ds.l    1    *.l 総ステップタイム(ループ内)
  2628.     clc_checksum:        ds.l    1    *.l 総チェックサム
  2629.     clc_measure:        ds.l    1    *.l 総小節数
  2630.  
  2631.     以降、clc_measureで表される小節数分以下の構成の情報が繰り返される。
  2632.  
  2633.     clc_ms_total:        ds.l    1    *.l 第1小節の総ステップタイム
  2634.     clc_dummy:        ds.w    1    *.w RESERVED
  2635.     clc_ms_checksum:    ds.w    1    *.w 第1小節のチェックサム
  2636.  
  2637.     ・自作プログラムから上記のオフセットテーブルを利用して計算結果情報
  2638.       を参照する場合はソースリストに含まれる ZCLABEL.MAC をインクルード
  2639.       するとよい。
  2640. --------------------------------------------------------------------------------
  2641. ファンクション$68    ZM_APPLICATION_RELEASER
  2642.  
  2643. 機能    外部アプリケーションの常駐解除ルーチンの登録
  2644.  
  2645. 引数    a1.l:外部アプリケーションの常駐解除ルーチンの先頭アドレス
  2646.          0に設定すると登録解除の指定となる。
  2647.     d1.l:登録時に返されたリザルトコード(a1.l=0の時のみ有効)
  2648.  
  2649. 戻り値    a0.l=0:エラー
  2650.     a0.l=0以外:正常終了
  2651.     d0.l:リザルトコード(ただしa0.l≠0の時のみ有効)
  2652.  
  2653. 備考    ・ZMUSICが常駐解除する時に同時に解除出来るようにするための手続き。
  2654.      ZMUSICが常駐解除するときa1.lのルーチンにエントリする。
  2655.     ・d0.lには登録IDが返される。このIDは常駐解除ルーチンの
  2656.      登録をキャンセル(a1.l=0にて本ファンクションをコール)する場合に
  2657.       用いる。
  2658.     ・a1.lから始まる各解放ルーチンは必要処理を実行後、最後に
  2659.      ZMUSIC側で解放してほしいメモリブロックがあるならば
  2660.      そのアドレスをa0.lにかえすようにすること。
  2661.      なければa0.l=0を返すこと
  2662.     ・a1.lからの解放ルーチンの実行後に、なにか表示したい
  2663.      メッセージが有る場合はその文字列のアドレスをa1.lに返すようにすること。
  2664.      なければa1.l=0を返すこと
  2665.     ・a1.lからの解放ルーチンでエラーが発生した場合は戻り値として
  2666.      d0.l(0:no error,1:occupied,-1:error)を返すことが出来る。
  2667.      エラーが発生した場合もその旨を告げるメッセージ文字列をa1.lに
  2668.      与えることが出来る。
  2669. --------------------------------------------------------------------------------
  2670. ファンクション$69    ZM_RELEASE_DRIVER
  2671.  
  2672. 機能    ZMUSICの解除
  2673.  
  2674. 引数    なし
  2675.  
  2676. 戻り値    d0.l=0:正常終了
  2677.     d0.l=0以外:エラーコード(常駐解除失敗)
  2678.     a0.l=ZMUSICの常駐アドレス
  2679.  
  2680. 備考    戻り値a0.lで示される領域をシステムのメモリ解放コールMFREE
  2681.     (DOSCALL $FF49)    を呼び出して解放した時点でZMUSICの常駐解除が
  2682.     完全に行われたことになる。
  2683. --------------------------------------------------------------------------------
  2684. ファンクション$6a    ZM_OCCUPY_ZMUSIC
  2685.  
  2686. 機能    ZMUSICの占有
  2687.  
  2688. 引数    d1.l:1=占有する,0=占有を解除する,-1=占有状態の検査
  2689.  
  2690. 戻り値    d0.l=以前の占有状態(0=占有されていない,1=占有されている)
  2691.          (d1.l=0,1のときのみ有効)
  2692.  
  2693.     d0.l=現在の占有状態(0=占有されていない,1=占有されている)
  2694.          (d1.l=-1のときのみ有効)
  2695. --------------------------------------------------------------------------------
  2696. ファンクション$6b    ZM_HOOK_FNC_SERVICE
  2697.  
  2698. 機能    ZMUSICのファンクションコール/サブルーチンのフック
  2699.  
  2700. 引数    d1.hw:(0:ファンクションコール,1:MIDI出力サブルーチン)
  2701.  
  2702.     (d1.hw=0のとき)
  2703.     d0.lw:ファンクションコール(0-127)
  2704.     a1.l:ユーザーファンクションのエントリ・アドレス
  2705.          -1とすると設定は行わずd1.lで指定したファンクション番号の
  2706.          ファンクションのエントリ・アドレスのみを返す。
  2707.  
  2708.     (d1.hw=1のとき)
  2709.     d1.lw=0:CZ6BM1 #1のMIDI出力ルーチン
  2710.     d1.lw=1:CZ6BM1 #2のMIDI出力ルーチン
  2711.     d1.lw=2:RS232C MIDI #1のMIDI出力ルーチン
  2712.     d1.lw=3:RS232C MIDI #2のMIDI出力ルーチン
  2713.     a1.l:ユーザーファンクションのエントリ・アドレス
  2714.          -1とすると設定は行わずd1.wで指定したMIDI出力ルーチンの
  2715.          エントリ・アドレスのみを返す。
  2716.          0とするとフックを解除する。
  2717.     a2.l:通常はa2.l=a1.lとする。(備考参照)
  2718.  
  2719. 戻り値    a0.l=フック前のファンクション/MIDI出力ルーチンのエントリ・アドレス
  2720.          0ならば空いていた。
  2721.          -1はエラー
  2722.  
  2723. 備考    d1.hw=1のときのa1.lは割り込み対応MIDI出力ルーチンに対するフックで、
  2724.     a2.lは$F7専用MIDI出力ルーチンに対するフックとなる。a1.lとa2.lを
  2725.     別のアドレスにすればこれらを場合分けしたルーチンをユーザー側で
  2726.     用意することも可能だが、通常はa1.l=a2.lとしておいて構わない。
  2727.     なお、フック先のユーザールーチンへはd0.bに出力データを持って飛ぶ。
  2728.     ユーザールーチン内でのレジスタ破壊は許されない。
  2729. --------------------------------------------------------------------------------
  2730. ファンクション$6c    ZM_HOOK_ZMD_SERVICE
  2731.  
  2732. 機能    ZMDオペレーションのフック
  2733.  
  2734. 引数    d1.lw:ZMDコード-128(0-127)
  2735.     d1.hw:(0:FM,1:ADPCM,2:MIDI,
  2736.           -1:共通コマンド,-2:効果音用共通コマンド,
  2737.           -3:制御コマンド)
  2738.     a1.l:ユーザーZMDオペレーションのエントリ・アドレス
  2739.          -1とすると設定は行わずd1.lで指定したZMDコードの
  2740.          オペレーションのエントリ・アドレスのみを返す。
  2741.  
  2742. 戻り値    a0.l=フック前のZMDオペレーション・エントリ・アドレス
  2743.          0ならば空いていた。
  2744.          -1はエラー
  2745. --------------------------------------------------------------------------------
  2746. ファンクション$6d    ZM_OCCUPY_COMPILER
  2747.  
  2748. 機能    コンパイラの占有
  2749.  
  2750. 引数    d1.l:1=占有,0=占有解除,-1=占有状態検査
  2751.  
  2752. 戻り値    d0.l=以前の占有状態(0=占有されていない,1=占有されている)
  2753.          (d1.l=0,1のときのみ有効)
  2754.  
  2755.     d0.l=現在の占有状態(0=占有されていない,1=占有されている)
  2756.          (d1.l=-1のときのみ有効)
  2757. --------------------------------------------------------------------------------
  2758. ファンクション$6e    ZM_STORE_ERROR
  2759.  
  2760. 機能    エラーコードのストア
  2761.  
  2762. 引数    d1.hw:エラーの発生したファンクション番号(0-32767)
  2763.     d1.lw:エラーコード(0-65535)
  2764.           d1.l=-1とした場合は問い合わせのみでストアは行わない
  2765.     d2.l:エラーの合計個数値に幾つ加算するか
  2766.  
  2767. 戻り値    d0.l=現在ストックしているエラーの個数
  2768.     a0.l=エラーストックバッファのアドレス
  2769.  
  2770. 備考    ・本関数はユーザーアプリケーション側で発生したエラーをZMUSIC側に
  2771.      知らせたい場合に使用する。ただしその場合、エラーコードフォーマットは
  2772.      MEASURE11で示してある形式に従わなければならない。
  2773.     ・エラーコードに関してはMEASURE11を参照。
  2774. --------------------------------------------------------------------------------
  2775. ファンクション$6f    ZM_PRINT_ERROR
  2776.  
  2777. 機能    エラーメッセージの表示
  2778.  
  2779. 引数    d1.hw:メッセージの出力先(0:画面,1:バッファ)
  2780.     d1.lw:メッセージの言語(0:英語,1:日本語)
  2781.     d2.l:エラーの数
  2782.     a1.l:ZMDのファイル名(無い場合は0)
  2783.     a2.l:ソース(ZMS)のアドレス(無い場合は0)
  2784.     a3.l:ソース(ZMS)ファイル名(無い場合は0)
  2785.     a5.l:エラーストックバッファの先頭アドレス
  2786.  
  2787. 戻り値    d0.l=出力バッファのサイズ。ただし終端の0は含まない。
  2788.     a0.l=出力バッファの先頭アドレス
  2789.     (d1.hw=1の時のみ有効,バッファの終端には0)
  2790.  
  2791. 備考    エラーテーブルからエラーメッセージを得る場合などに使用する。
  2792.     引数のa1.l~a3.lは通常の外部アプリケーションならば0でよい。
  2793.     コンパイラなどの場合はそれらを正しく設定すればタグジャンプに
  2794.     対応した出力を得ることが出来る。
  2795. --------------------------------------------------------------------------------
  2796. ファンクション$70    ZM_GET_MEM
  2797.  
  2798. 機能    メモリの確保
  2799.  
  2800. 引数    d2.l:確保サイズ
  2801.     d3.l:確保するメモリの用途ID
  2802.  
  2803. 戻り値    d0.l≦0:確保に失敗した
  2804.     a0.l=確保したメモリブロックのアドレス(d0.l≧0のときのみ有効)
  2805.  
  2806. 備考    ZMUSICに無関係のメモリブロックを確保する場合ならば当ファンクションを
  2807.     用いる必要はない。
  2808.     メモリの用途IDは以下のようなものがある。
  2809.     自作プログラムから下記のメモリ用途IDを利用する場合は
  2810.     ソースリストに含まれる ZMID.MAC をインクルードするとよい。
  2811.  
  2812.     ZMUSICメモリID                    ID_ZMSC
  2813.     ZPD                        ID_ZPD
  2814.     ZPDテーブル                    ID_ZPD_TBL
  2815.     ZMD                        ID_ZMD
  2816.     波形メモリ                    ID_WAVE
  2817.     波形メモリテーブル                ID_WAVE_TBL
  2818.     ADPCM単音登録用(NOT ZPD)            ID_ADPCM
  2819.     トータルステップタイム計算用ワークバッファ    ID_CALC
  2820.     テンポラリ領域                    ID_TEMP
  2821.     外部アプリケーション解除登録ワーク        ID_APPLI
  2822.     エラーストックバッファ                ID_ERROR
  2823.     スタートアップファイル                ID_STARTUP
  2824.     FM音源音色バッファ                ID_FMSND
  2825.     システム関連ワーク                ID_SYSTEM
  2826.     スタンダードMIDIファイル            ID_SMF
  2827.     全てを対象とする(FREE_MEM2時)            ID_ALL
  2828. --------------------------------------------------------------------------------
  2829. ファンクション$71    ZM_ENLARGE_MEM
  2830.  
  2831. 機能    メモリブロックのサイズの変更
  2832.  
  2833. 引数    d2.l:変更後のサイズ
  2834.     a1.l:ファンクションZM_GET_MEMで確保したメモリのアドレス
  2835.  
  2836. 戻り値    d0.l≦0:確保に失敗した
  2837.     a0.l=確保しなおしたメモリブロックのアドレス(d0.l≧0のときのみ有効)
  2838.  
  2839. 備考    ・メモリブロックのサイズを大きくした場合などはメモリブロックの
  2840.      再配置が自動で行われる。そのためa1.lで与えられたメモリブロックが
  2841.      別のアドレスに移動する場合がある。よってこのファンクションを実行後は
  2842.      a1.lのアドレス値を戻り値のa0.lのアドレス値に置き換えるべきである。
  2843.     ・変更に失敗した場合は、a1.lのメモリブロックの内容は保証される。
  2844. --------------------------------------------------------------------------------
  2845. ファンクション$72    ZM_FREE_MEM
  2846.  
  2847. 機能    メモリブロックの解放
  2848.  
  2849. 引数    a1.l:ファンクションZM_GET_MEMで確保したメモリのアドレス
  2850.  
  2851. 戻り値    d0.l=0:解放成功
  2852.     d0.l=0以外:エラーコード
  2853. --------------------------------------------------------------------------------
  2854. ファンクション$73    ZM_FREE_MEM2
  2855.  
  2856. 機能    特定の用途IDを持ったメモリブロックの解放
  2857.  
  2858. 引数    d3.l:メモリの用途ID(0は全削除指定となる)
  2859.  
  2860. 戻り値    d0.l=0:解放成功
  2861.     d0.l=0以外:エラーコード
  2862.  
  2863. 備考    メモリの用途IDはファンクションZM_GET_MEMの項を参照のこと。
  2864. --------------------------------------------------------------------------------
  2865. ファンクション$74    ZM_EXCHANGE_MEMID
  2866. :    equ    $74    *メモリブロックのIDの変更
  2867.     *   cmd=$74
  2868.     * < a1.l=mem.block address
  2869.     * < d1.l=mode    (0:no check) (1:check mode) (-1:exchange all who got d2 id.) 
  2870.     * < d2.l=old ID (Can be omitted in 'no check' case.)
  2871.     * < d3.l=New ID ($8000_0000 means lock mem.)($0000_0000 means unlock mem.)
  2872.     * > d0.l=return (0:no error, ne:error)
  2873.     * - all except d0,a0
  2874.  
  2875. 機能    メモリブロックの用途IDの変更
  2876.  
  2877. 引数    d1.l:変更モード(0:チェックなしで変更,1:チェックしてから更新
  2878.          -1:d2.lの用途IDを持つメモリブロックをすべて
  2879.             d3.lの用途IDへ変更する)
  2880.     d2.l:更新元メモリの用途ID(d1.l=0の場合は意味なし)
  2881.     d3.l:希望メモリの用途ID
  2882.     a1.l:ファンクションZM_GET_MEMで確保したメモリのアドレス
  2883.  
  2884. 戻り値    d0.l=0:変更成功
  2885.     d0.l=0以外:エラーコード
  2886.  
  2887. 備考    メモリの用途IDはファンクションZM_GET_MEMの項を参照のこと。
  2888. --------------------------------------------------------------------------------
  2889. ファンクション$78    ZM_INIT_ALL
  2890.  
  2891. 機能    ZMUSICの全初期化を行う
  2892.  
  2893. 引数    なし
  2894.  
  2895. 戻り値    d0.l=Z-MUSICのバージョンID
  2896.  
  2897. 備考    通常のアプリケーションは本関数を利用する必要はない
  2898.     バージョンIDはたとえばバージョン3.21ならば $00003241となる。
  2899.     4の部分は固定値。
  2900. --------------------------------------------------------------------------------
  2901. ファンクション$79    ZM_INT_START
  2902.  
  2903. 機能    割り込み開始制御
  2904.  
  2905. 引数    d1.w:制御対象タイマータイプ
  2906.          (-1:音楽タイマ,0:音楽+効果音タイマ,1:効果音タイマ)
  2907.  
  2908. 戻り値    なし
  2909.  
  2910. 備考    通常のアプリケーションは本関数を利用する必要はない
  2911. --------------------------------------------------------------------------------
  2912. ファンクション$7a    ZM_INT_STOP
  2913.  
  2914. 機能    割り込み停止制御
  2915.  
  2916. 引数    d1.w:制御対象タイマータイプ
  2917.          (-1:音楽タイマ,0:音楽+効果音タイマ,1:効果音タイマ)
  2918.  
  2919. 戻り値    なし
  2920.  
  2921. 備考    通常のアプリケーションは本関数を利用する必要はない
  2922. --------------------------------------------------------------------------------
  2923. ファンクション$7b    ZM_SET_INT_SERVICE
  2924.  
  2925. 機能    ユーザ割り込みサービスの設定
  2926.  
  2927. 引数    ・ユーザ割り込み登録
  2928.     d1.hw:全音符のクロック数(1-65535)
  2929.     d1.lw:テンポ(1-32767)
  2930.     a1.l:ユーザー割り込みルーチンのエントリアドレス
  2931.  
  2932.     ・登録したユーザ割り込みの割り込み速度(テンポ)を変更する
  2933.     d1.hw:全音符のクロック数(1-65535)
  2934.     d1.lw:テンポ(1-32767)
  2935.     a1.l:-1
  2936.  
  2937.     ・ユーザ割り込み状態検査
  2938.     d1.l:-1
  2939.     a1.l:=0
  2940.  
  2941.     ・ユーザ割り込み解除
  2942.     d1.l:0
  2943.     a1.l:ユーザー割り込みルーチンのエントリアドレス
  2944.  
  2945. 戻り値    ・ユーザ割り込み登録
  2946.     d0.l=0:登録正常終了
  2947.     d0.l=0以外:登録失敗
  2948.  
  2949.     ・登録したユーザ割り込みの割り込み速度(テンポ)を変更する
  2950.     d0.l=0:変更正常終了
  2951.     d0.l=0以外:変更失敗
  2952.  
  2953.     ・ユーザ割り込み状態検査
  2954.     d0.l=a0.l=0:空き
  2955.     d0.l=-1,a0.l=先約ユーザ割り込みエントリアドレス
  2956.  
  2957.     ・ユーザ割り込み解除
  2958.     d0.l=0:解除正常終了
  2959.     d0.l=0以外:解除失敗
  2960.  
  2961. 備考    ・割り込みルーチンの最後はRTEではならない。かならず全レジスタを
  2962.      保存した上でRTSで終了帰還するような作りにすること。
  2963.     ・引数のa1.l=-1とした場合はすでに登録されている割り込みサービスの
  2964.      割込み周期をd1.lw,d1.hwのテンポ情報に変更する機能を果たす。
  2965. --------------------------------------------------------------------------------
  2966. ファンクション$7c    ZM_CONTROL_TEMPO
  2967.  
  2968. 機能    テンポ設定の主導権設定
  2969.  
  2970. 引数    d1.l:-1=テンポ設定の主導権を外部アプリケーションに委託
  2971.          0=テンポ設定の主導権をZMUSICに戻す
  2972.          (このとき内部パラメタでテンポの初期化も実施する)
  2973.  
  2974. 戻り値    d0.l=0:設定正常終了
  2975.     d0.l=0以外:設定失敗
  2976. --------------------------------------------------------------------------------
  2977. ファンクション$7f    ZM_EXEC_ZMD
  2978.  
  2979. 機能    ZMD列の実行
  2980.  
  2981. 引数    d1.l=トラック番号(0-65534,65535:特に指定しない場合)
  2982.     d2.l=ZMD列の長さ
  2983.     a1.l=ZMD列格納アドレス(バッファ自体はd2.l+8の大きさを必要とする)
  2984.  
  2985. 戻り値    なし
  2986. --------------------------------------------------------------------------------
  2987.